如何检查队列是否为空?

问题描述 投票:36回答:7

在C#中,如何检查队列是否为空?

我想遍历Queue的元素,我需要知道何时停止。我该怎么做?

c# queue is-empty
7个回答
43
投票

假设您的意思是Queue<T>,您可以仅使用:

Queue<T>

但是为什么要打扰?无论如何,只要遍历它,如果它是空的,就永远不会进入身体:

if (queue.Count != 0)

21
投票

我建议使用Any()方法,因为这不会对整个队列进行计数,因此在性能方面会更好。

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

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

8
投票

假设您的意思是Queue myQueue = new Queue(); if(myQueue.Any()){ //queue not empty }

System.Collections.Generic.Queue<T>

应该做到这一点。


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

2
投票

有一个扩展方法.Count(),因为Queue实现了IEnumerable,所以它是可用的。

您也可以执行_queue.Any()来查看其中是否包含任何元素。


1
投票

您可以检查其Count属性是否等于0。


0
投票

YourQueue.GetEnumerator()。MoveNext()== true

© www.soinside.com 2019 - 2024. All rights reserved.