数组类的Array.IsSynchronized属性在C#中做什么?

C中的Array.IsSynchronized属性获取一个值,该值指示是否同步对Array的访问。

IsSynchronized属性由Arrays实现,因为System.Collections.ICollection接口需要它。使用数组的类也可以使用SyncRoot属性实现自己的同步。

以下是语法-

public bool IsSynchronized { get; }

Array.IsSynchronized属性实现与SyncRoot属性相同-

示例

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
   static void Main() {
      Array arr = new int[] { 2, 1, 9, 4, 8, 6,8 };
      lock(arr.SyncRoot) {
         foreach (Object val in arr)
         Console.WriteLine(val);
      }
   }
}

输出结果

2
1
9
4
8
6
8