2013-12-17 74 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>