C#のQueue.Synchronized()メソッド
C#のQueue.Synchronized()メソッドは、元のキューをラップし、スレッドセーフな新しいキューを返すために使用されます。
構文
構文は次のとおりです-
public static System.Collections.Queue Synchronized (System.Collections.Queue queue);
上記のパラメータキューは、同期するキューです。
例
例を見てみましょう-
using System;
using System.Collections;
public class Demo {
public static void Main(){
Queue queue = new Queue();
queue.Enqueue("AB");
queue.Enqueue("BC");
queue.Enqueue("CD");
queue.Enqueue("DE");
queue.Enqueue("EF");
queue.Enqueue("FG");
queue.Enqueue("GH");
queue.Enqueue("HI");
Console.WriteLine("Queue...");
IEnumerator demoEnum = queue.GetEnumerator();
while (demoEnum.MoveNext()){
Console.WriteLine(demoEnum.Current);
}
Console.WriteLine("Is Queue synchronized? = "+queue.IsSynchronized);
Queue queue2 = Queue.Synchronized(queue);
Console.WriteLine("Is Queue synchronized now? = "+queue2.IsSynchronized);
}
} 出力
これにより、次の出力が生成されます-
Queue... AB BC CD DE EF FG GH HI Is Queue synchronized? = False Is Queue synchronized now? = True
例
別の例を見てみましょう-
using System;
using System.Collections;
public class Demo {
public static void Main(){
Queue queue = new Queue();
queue.Enqueue(100);
queue.Enqueue(200);
queue.Enqueue(300);
Console.WriteLine("Is Queue synchronized? = "+queue.IsSynchronized);
Queue queue2 = Queue.Synchronized(queue);
Console.WriteLine("Is Queue synchronized now? = "+queue2.IsSynchronized);
Console.Write("Count of elements = ");
Console.WriteLine(queue.Count);
Console.WriteLine("Queue...");
foreach(int i in queue){
Console.WriteLine(i);
}
Console.WriteLine("Does the queue has element 500? = "+queue.Contains(500));
int[] intArr = new int[5];
intArr[0] = 1;
intArr[1] = 2;
intArr[2] = 3;
intArr[3] = 4;
queue.CopyTo(intArr, 1);
Console.WriteLine("\nQueue (Updated)");
foreach(int i in queue){
Console.WriteLine(i);
}
Console.WriteLine("\nArray (Updated)");
foreach(int i in intArr){
Console.WriteLine(i);
}
}
} 出力
これにより、次の出力が生成されます-
Is Queue synchronized? = False Is Queue synchronized now? = True Count of elements = 3 Queue... 100 200 300 Does the queue has element 500? = False Queue (Updated) 100 200 300 Array (Updated) 1 100 200 300 0
-
C#の集計メソッド
C#でAggregateメソッドを使用して、Sum、Min、Max、Averageなどの数学演算を実行します。 Aggregateメソッドを使用して配列要素を乗算する例を見てみましょう。 これが私たちの配列です- int[] arr = { 10, 15, 20 }; ここで、Aggregate()メソッドを使用します- arr.Aggregate((x, y) => x * y); これが完全なコードです- 例 using System; using System.Linq; using System.IO; public class Demo { p
-
C#のTakeWhileメソッド()
TakeWhile()メソッドを使用すると、述語に基づいて条件を設定することでメソッドを取得できます。 まず、配列を宣言して初期化します- int[] arr = { 25, 40, 65, 70}; ここで、TakeWhile()メソッドと述語を使用して、30未満のすべての要素を取得します。 var val = arr.TakeWhile(ele => ele < 30); 同じ例を見てみましょう。ここでは、述語-を使用して30未満の値を表示しています。 例 using System; using System.Linq; using System.IO; public c