Подтвердить что ты не робот

Как проверить, пуста ли очередь?

В С#, как я могу проверить, пустует ли очередь?

Я хочу перебирать элементы Queue, и мне нужно знать, когда остановиться. Как я могу это сделать?

4b9b3361

Ответ 1

Предполагая, что вы имеете в виду Queue<T>, вы можете просто использовать:

if (queue.Count != 0)

Но зачем беспокоиться? Так или иначе, попробуйте перебрать его, и если он пуст, вы никогда не попадете в тело:

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

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

Ответ 2

Я бы предложил использовать метод Any(), поскольку это не будет делать счет во всей очереди, что будет лучше с точки зрения производительности.

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

Ответ 3

Предполагая, что вы имели в виду System.Collections.Generic.Queue<T>

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

должен сделать трюк.

Ответ 4

Существует метод расширения .Count(), который доступен, поскольку Queue реализует IEnumerable.

Вы также можете сделать _queue.Any(), чтобы увидеть, есть ли в нем какие-либо элементы.

Ответ 5

    Queue test = new Queue();
    if(test.Count > 0){
      //queue not empty
    }

Ответ 6

Вы можете проверить, равно ли его свойство Count 0.

Ответ 7

если вы используете Queue (System.Collections.Generic.Queue), затем

Queue<String> QST;
...
int numberOfElement = QST.Count();