要获得对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