C#
 Computer >> コンピューター >  >> プログラミング >> C#

配列クラスのArray.SyncRootプロパティはC#で何をしますか?


Array.SyncRootプロパティは、配列へのアクセスを同期するために使用できるオブジェクトを取得するために使用されます。配列を持つクラスは、SyncRootプロパティを使用して独自の同期を実装することもできます。

コレクションを介して列挙することは、スレッドセーフな手順ではありません。コレクションが同期されている場合でも、他のスレッドがコレクションを変更する可能性があります。これにより、最終的に列挙子は例外をスローします。このためには、コレクションをロックする必要があります。

Array.SyncRootプロパティを操作する例を見てみましょう-

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

class Program {
   static void Main() {
      Array arr = new int[] { 23, 11, 32, 18, 87 };
      lock(arr.SyncRoot) {
         foreach (Object val in arr)
         Console.WriteLine(val);
      }
   }
}

出力

23
11
32
18
87

上記では、アレイにロックを設定しました-

lock(arr.SyncRoot)

  1. C#のBitArrayクラスのCountプロパティとは何ですか?

    Countプロパティを使用して、BitArrayクラスの要素の数をカウントします。 まず、BitArrayクラスを設定しましょう- BitArray arr = new BitArray(10); 次に、以下に示すようにCountプロパティを使用します- 例 using System; using System.Collections; public class Demo {    public static void Main() {       BitArray arr = new BitArray(10);   &n

  2. C#のSortedListクラスのCapacityプロパティとは何ですか?

    SortedListクラスの容量プロパティには、SortedListの最大サイズがあります。 SortedListのデフォルトの容量は16です。 次のコードを実行して、C#でSortedListクラスのCapacityプロパティを実装してみてください- 例 using System; using System.Collections; namespace Demo {    class Program {       static void Main(string[] args) {