C# 中的循环队列

本文关键字:队列 循环 | 更新日期: 2024-10-30 23:11:20

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

我的队列是一个变量,将始终向其添加和删除项目。

我正在寻找一种在列表中有项目时执行 TransferFromQueue() 的方法。虽然它不应该运行超过一个 TransferFromQueue() 的 istion。

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

C# 中的循环队列

为什么不使用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
    }
}

相关:

队列 vs List