C# 中 ArrayList 的同步
csharpprogrammingserver side programming更新于 2025/9/23 17:52:17
使用 C# 中的 ArrayList.Synchronized 方法同步 ArrayList。
让我们看一个使用 C# 中的 SyncRoot 属性锁定集合的示例 −
ArrayList arr = new ArrayList();
lock(arr.SyncRoot) {
foreach (object ele in arr) {
}
}
以下是检查 ArrayList 同步状态的完整示例 −
示例
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList arr1 = new ArrayList();
arr1.Add("One");
arr1.Add("Two");
arr1.Add("Three");
arr1.Add("Four");
arr1.Add("Five");
arr1.Add("Six");
arr1.Add("Seven");
arr1.Add("Eight");
// 设置 ArrayList 的同步包装器
ArrayList arr2 = ArrayList.Synchronized(arr1);
// 第一个 ArrayList 的同步状态
Console.WriteLine("arr1 = {0}", arr1.IsSynchronized ? " synchronized" : "not synchronized");
// 第二个 ArrayList 的同步状态
Console.WriteLine("arr2 = {0}", arr2.IsSynchronized ? "synchronized" : "not synchronized");
}
}
输出
arr1 = not synchronized arr2 = synchronized

