首页 文章资讯内容详情

在C#中如何同步访问StringCollection

2026-06-04 1 花语

要获得对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("数组元素..."); foreach (string res in arr) { Console.WriteLine(res); } stringCol.AddRange(arr); Console.WriteLine("元素总数 = "+stringCol.Count); stringCol.RemoveAt(3); Console.WriteLine("现在的元素总数 = "+stringCol.Count); Console.WriteLine("Synchronize access..."); lock(stringCol.SyncRoot) { foreach(object ob in stringCol) { Console.WriteLine(ob); } } } }

输出结果

这将产生以下输出-

数组元素... 100 200 300 400 500 元素总数 = 5 现在的元素总数 = 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