Как проверить, пуста ли очередь?
В С#, как я могу проверить, пустует ли очередь?
Я хочу перебирать элементы Queue, и мне нужно знать, когда остановиться. Как я могу это сделать?
Ответы
Ответ 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();