C# C语言中的循环队列# 公共列表队列 { 获取{return\u queue;} 设置{u queue=value;} } TransferFromQueue() { //做事 //从队列中删除已传输的项目 }

C# C语言中的循环队列# 公共列表队列 { 获取{return\u queue;} 设置{u queue=value;} } TransferFromQueue() { //做事 //从队列中删除已传输的项目 },c#,.net,list,queue,C#,.net,List,Queue,“我的队列”是一个变量,项目将一直添加到该变量中并从中删除 我正在寻找一种在列表中有项目时执行TransferFromQueue()的方法。 尽管它不应该运行TransferFromQueue()的多个istance 当队列中有项目时,我如何逐个循环此队列?为什么不改用a?这似乎正是你想要的 public List<Transfer> Queue { get { return _queue; } set { _queue = v

“我的队列”是一个变量,项目将一直添加到该变量中并从中删除

我正在寻找一种在列表中有项目时执行TransferFromQueue()的方法。 尽管它不应该运行TransferFromQueue()的多个istance

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

为什么不改用a?这似乎正是你想要的

     public List<Transfer> Queue
     {
         get { return _queue; }
         set { _queue = value; }
     }
    TransferFromQueue()
    {
         // Do stuff
         // Remove transfered item from Queue
    }
private Queue\u Queue=new Queue();
公共队列
{
获取{return\u queue;}
设置{u queue=value;}
}
void TransferFromQueue()
{
而(Queue.Count>0)
{
传输电流=Queue.Dequeue();//已删除
//如果希望在不删除队列的情况下查看它,请使用Queue.Peek()
//做事
}
}
相关的:


为什么不改用a?不确定,它比列表有什么好处吗?是的,编辑了我的答案,提供了指向此问题的问题的链接。
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
    }
}