この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Queue クラス

 

公開日: 2016年11月

オブジェクトの先入れ先出しコレクションを表します。

名前空間:   System.Collections
アセンブリ:  mscorlib (mscorlib.dll 内)

System.Object
  System.Collections.Queue

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class Queue : ICollection, IEnumerable, ICloneable

名前説明
System_CAPS_pubmethodQueue()

新しいインスタンスを初期化、 Queue 空では、クラス、既定の初期量を備え既定の増加率を使用します。

System_CAPS_pubmethodQueue(ICollection)

新しいインスタンスを初期化、 Queue を指定したコレクションからコピーした要素を含むクラスが、コピーした要素の数と同じ初期量に備え、既定の増加率を使用します。

System_CAPS_pubmethodQueue(Int32)

新しいインスタンスを初期化、 Queue 空であるクラスが指定した初期量を備え、および既定の増加率を使用します。

System_CAPS_pubmethodQueue(Int32, Single)

新しいインスタンスを初期化、 Queue 空では、クラス指定した初期量を備え、指定した増加率を使用します。

名前説明
System_CAPS_pubpropertyCount

Queue に格納されている要素の数を取得します。

System_CAPS_pubpropertyIsSynchronized

Queue へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。

System_CAPS_pubpropertySyncRoot

Queue へのアクセスを同期するために使用できるオブジェクトを取得します。

名前説明
System_CAPS_pubmethodClear()

Queue からすべてのオブジェクトを削除します。

System_CAPS_pubmethodClone()

簡易コピーを作成、 Queueです。

System_CAPS_pubmethodContains(Object)

ある要素が Queue 内に存在するかどうかを判断します。

System_CAPS_pubmethodCopyTo(Array, Int32)

Queue の要素を既存の 1 次元の Array にコピーします。コピー操作は、配列内の指定したインデックスから始まります。

System_CAPS_pubmethodDequeue()

Queue の先頭にあるオブジェクトを削除し、返します。

System_CAPS_pubmethodEnqueue(Object)

Queue の末尾にオブジェクトを追加します。

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_protmethodFinalize()

オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)

System_CAPS_pubmethodGetEnumerator()

Queue を反復処理する列挙子を返します。

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されます。)

System_CAPS_pubmethodPeek()

Queue の先頭にあるオブジェクトを削除せずに返します。

System_CAPS_pubmethodSystem_CAPS_staticSynchronized(Queue)

新しい返します Queue を元のキューをラップし、スレッド セーフです。

System_CAPS_pubmethodToArray()

Queue の要素を新しい配列にコピーします。

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

System_CAPS_pubmethodTrimToSize()

容量を Queue 内にある実際の要素数に設定します。

名前説明
System_CAPS_pubmethodAsParallel()

オーバーロードされます。クエリの並列化を有効にします。(ParallelEnumerable によって定義されています。)

System_CAPS_pubmethodAsQueryable()

オーバーロードされます。変換、 IEnumerable に、 IQueryableです。(Queryable によって定義されています。)

System_CAPS_pubmethodCast<TResult>()

要素をキャスト、 IEnumerable 指定した型にします。(Enumerable によって定義されています。)

System_CAPS_pubmethodOfType<TResult>()

要素をフィルター処理、 IEnumerable 、指定した型に基づいています。(Enumerable によって定義されています。)

このクラスは、循環配列として、キューを実装します。 オブジェクトに格納されている、 Queue 一方の end が挿入され、もう一方から削除します。

キューおよびスタックは便利ですが必要な一時記憶域の情報つまり、可能性がありますをする場合、値を取得した後でその要素を破棄します。 使用 Queue かどうかには、コレクションに格納される順序と同じ順序での情報にアクセスする必要があります。 使用 Stack 逆の順序で、情報にアクセスする必要がある場合。 使用 ConcurrentQueue<T> または ConcurrentStack<T> 同時に複数のスレッドからコレクションにアクセスする必要がある場合。

次の 3 つの主要な操作を実行できる、 Queue とその要素。

  • Enqueue 末尾に要素を追加、 Queueです。

  • Dequeue 先頭から最も古い要素を削除、 Queueです。

  • Peek 先頭にある最も古い要素を返す、 Queue からは削除されませんが、 Queueです。

容量、 Queue 要素の数が、 Queue を保持できます。 要素が追加されると、 Queue, 、容量が増加すると自動的に再割り当て、必要に応じて。 呼び出すことによって、容量を削減できる TrimToSizeです。

増加率より大きな容量が必要な場合に現在の容量を乗算する数です。 増加率を決定時に、 Queue を構築します。 既定の増加率は 2.0 です。 容量、 Queue が、少なくとも最小で 4 枚、増加率に関係なく、常に増加します。 たとえば、 Queue 1.0 の増加率が常に増加の容量のうち 4 でより大きな容量が必要な場合です。

Queue 受け入れる null 有効な値としてでき、重複する要素。

このコレクションのジェネリックのバージョンを参照してください。 System.Collections.Generic.Queue<T>

次の例では、作成し、値を追加する方法、 Queue とその値を出力する方法です。

 using System;
 using System.Collections;
 public class SamplesQueue  {

    public static void Main()  {

       // Creates and initializes a new Queue.
       Queue myQ = new Queue();
       myQ.Enqueue("Hello");
       myQ.Enqueue("World");
       myQ.Enqueue("!");

       // Displays the properties and values of the Queue.
       Console.WriteLine( "myQ" );
       Console.WriteLine( "\tCount:    {0}", myQ.Count );
       Console.Write( "\tValues:" );
       PrintValues( myQ );
    }


    public static void PrintValues( IEnumerable myCollection )  {
       foreach ( Object obj in myCollection )
          Console.Write( "    {0}", obj );
       Console.WriteLine();
    }
 }
 /* 
 This code produces the following output.

 myQ
     Count:    3
     Values:    Hello    World    !
*/ 

ユニバーサル Windows プラットフォーム
10 以降で使用可能
.NET Framework
1.1 以降で使用可能

パブリック静的 (Shared Visual Basic では) この型のメンバーは、スレッド セーフであります。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

スレッド セーフを確保する、 Queue, 、によって返されるラッパーを通じて、すべての操作を行う必要があります、 Synchronized メソッドです。

コレクションの列挙は、本質的にスレッド セーフなプロシージャではありません。 コレクションの同期がとられている場合でも、別のスレッドによってそのコレクションを変更できるため、変更の結果として列挙子は例外をスローします。 列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。

トップに戻る
表示: