C# キュー: キュー


 
C# では、キュー (Queue クラス) はスタックに似ています。オブジェクトの先入れ先出しコレクションを表します。項目への先入れ先出しアクセスが必要な場合は、キューを使用できます。キューへの要素の追加はエンキューと呼ばれ、スタックから要素を削除することはデキューと呼ばれます。

 

Queueクラスのプロパティ

次の表に、Queue クラスの一般的に使用されるプロパティをいくつか示します。

属性 説明
Count キューに含まれる要素の数を取得します
IsSynchronized キューへのアクセスを同期するかどうかを決定します (スレッド セーフ)
SyncRoot キューへのアクセスを同期するために使用できるオブジェクトを取得します

Queueクラスのメソッド

次の表に、Queue クラスの一般的に使用されるメソッドをいくつか示します。

メソッド名 説明
public virtual void Clear() キューからすべての要素を削除します
public virtual bool Contains(object obj) 要素がキュー内にあるかどうかを確認する
public virtual object Dequeue() キューの先頭にあるオブジェクトを削除して返します
public virtual void Enqueue(object obj) オブジェクトをキューの最後に追加します
public virtual object[] ToArray() キューを新しい配列にコピーします
public virtual void TrimToSize() キューの容量をキュー内の実際の要素数に設定します。

Queue クラスのプロパティとメソッドの詳細については、 C# の公式ドキュメントを参照してください。

[例] 以下の例は、Queue クラスのプロパティとメソッドの使用方法を示しています。

 using System;
using System.Collections;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args){
            Queue q = new Queue();

            q.Enqueue('A');
            q.Enqueue('B');
            q.Enqueue('C');
            q.Enqueue('D');

            Console.WriteLine("現在のキュー: ");
            foreach (char c in q)
                Console.Write(c + " ");
            Console.WriteLine("\r\nいくつかの要素をキューに追加します:\r\nE F");
            q.Enqueue('E');
            q.Enqueue('F');
            Console.WriteLine("現在のキュー: ");       
            foreach (char c in q)
                Console.Write(c + " ");
            Console.WriteLine();
            Console.WriteLine("いくつかの値を削除します:");
            char ch = (char)q.Dequeue();
            Console.Write(ch + " ");
            ch = (char)q.Dequeue();
            Console.Write(ch + "\r\n");
            Console.WriteLine("現在のキュー: ");
            foreach (char c in q)
                Console.Write(c + " ");
            Console.ReadKey();
        }
    }
} 

操作の結果は次のようになります。

現在のキュー:
A B C D
いくつかの要素をキューに追加します:
E F
現在のキュー:
A B C D E F
いくつかの値を削除します:
A B
現在のキュー:
C D E F

「 C# キュー: キュー」についてわかりやすく解説!絶対に観るべきベスト2動画

25. C# – キュー
[Khóa học lập trình #C#_nâng_cao] – Bài 5: #Stack trong C# | HowKteam