如何在 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
广告