C#中的循环队列

5 .net c# queue list

     public List<Transfer> Queue
     {
         get { return _queue; }
         set { _queue = value; }
     }
    TransferFromQueue()
    {
         // Do stuff
         // Remove transfered item from Queue
    }
Run Code Online (Sandbox Code Playgroud)

我的队列是一个变量,项目将一直添加和删除.

我正在寻找一种方法,只要列表中有项目,就可以执行TransferFromQueue().虽然它永远不应该运行TransferFromQueue()的一个以上.

当队列中有项目时,如何逐个循环此队列?

Tim*_*ter 9

你为什么不用Queue<Transfer>?这似乎正是你想要的.

private Queue<Transfer> _queue = new Queue<Transfer>();
public Queue<Transfer> Queue
{
    get { return _queue; }
    set { _queue = value; }
}

void TransferFromQueue()
{
    while(Queue.Count > 0)
    {
        Transfer current = Queue.Dequeue(); // removed
        // use Queue.Peek() if you want to look at it witout removing it
        // Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

有关:

队列<T>与列表<T>