2013-12-17 75 views
4
 public List<Transfer> Queue 
    { 
     get { return _queue; } 
     set { _queue = value; } 
    } 
    TransferFromQueue() 
    { 
     // Do stuff 
     // Remove transfered item from Queue 
    } 

我的队列是一个变量,项目将被添加和删除。C#中的循环队列#

我正在寻找一种方法来执行TransferFromQueue(),只要有列表中的项目。 尽管它不应该运行TransferFromQueue()以上的运行。

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

+0

你为什么不使用['队列'](http://msdn.microsoft.com/en-us/library/7977ey2c(V = vs.110).aspx)而不是? –

+0

不确定,它比List <>有什么好处吗? – user1071461

+0

是的,编辑我的答案以提供指向此问题的问题的链接。 –

回答

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 
    } 
} 

相关:

Queue<T> vs List<T>