如何在 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 次查看

开启你的 职业生涯

完成课程获得认证

立即开始
广告