web-dev-qa-db-ja.com

キューが空かどうかを確認するにはどうすればよいですか?

C#では、キューが空かどうかをどのように確認できますか?

キューの要素を繰り返し処理したいので、いつ停止するかを知る必要があります。どうすればこれを達成できますか?

34
MoShe

あなたが Queue<T> youcould次を使用します。

if (queue.Count != 0)

しかし、なぜわざわざ?とにかくそれを反復処理し、それが空の場合、あなたは体内に入ることはありません:

Queue<string> queue = new Queue<string>();

// It's fine to use foreach...
foreach (string x in queue)
{
    // We just won't get in here...
}
43
Jon Skeet

Any()メソッドを使用することをお勧めします。これは、キュー全体でカウントを行わないため、パフォーマンスの点で優れています。

Queue myQueue = new Queue();
    if(myQueue.Any()){
      //queue not empty
    }
21
GregoryBrad

あなたがSystem.Collections.Generic.Queue<T>

if(yourQueue.Count != 0) { /* Whatever */ }

トリックを行う必要があります。

8
vcsjones
    Queue test = new Queue();
    if(test.Count > 0){
      //queue not empty
    }
3
LMW-HH

QueueがIEnumerableを実装しているため、利用可能な拡張メソッド.Count()があります。

_queue.Any()を実行して、その中に要素があるかどうかを確認することもできます。

2
Joe

Countプロパティが0に等しいかどうかを確認できます。

1
muddybruin