如何在 C# 中同步訪問 StringCollection


要同步訪問 StringCollection,程式碼如下 −

示例

 線上演示

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringCollection stringCol = new StringCollection();
      String[] arr = new String[] { "100", "200", "300", "400", "500" };
      Console.WriteLine("Array elements...");
      foreach (string res in arr) {
         Console.WriteLine(res);
      }
      stringCol.AddRange(arr);
      Console.WriteLine("Total number of elements = "+stringCol.Count);
      stringCol.RemoveAt(3);
      Console.WriteLine("Total number of elements now = "+stringCol.Count);
      Console.WriteLine("Synchronize access...");
      lock(stringCol.SyncRoot) {
         foreach(object ob in stringCol) {
            Console.WriteLine(ob);
         }
      }
   }
}

輸出

這將生成以下輸出 −

Array elements...
100
200
300
400
500
Total number of elements = 5
Total number of elements now = 4
Synchronize access...
100
200
300
500

示例

讓我們看另一個示例 −

 線上演示

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringCollection strCol = new StringCollection();
      strCol.Add("Katie");
      strCol.Add("Philips");
      strCol.Add("Jacob");
      strCol.Add("Carl");
      strCol.Add("Gary");
      Console.WriteLine("Synchronize access...");
      lock(strCol.SyncRoot) {
         foreach(object ob in strCol) {
            Console.WriteLine(ob);
         }
      }
   }
}

輸出

這將生成以下輸出 −

Synchronize access...
Katie
Philips
Jacob
Carl
Gary

更新於: 11-Dec-2019

52 次檢視

開啟你的 職業生涯

完成課程獲得認證

立即開始
廣告
© . All rights reserved.