2012-11-12 72 views
1

Peek返回隊列開始處的對象而不刪除它。如何從FIFO隊列中返回最新的對象而不刪除它

如果我想用「隊列中的最後一個對象」做同樣的事情該怎麼辦?即「最新」(剛剛插入的那個)。我試過queue.Reverse().Peek()但是這不能編譯。

+2

你應該使用堆棧,如果這確實是你的要求。 – tempidope

+0

@JKarthik我需要添加對象,使用FIFO刪除對象,迭代對象從最新到最舊和「窺視」最新的對象。對於迭代我使用'queue.reverse()' – javapowered

+0

你可以使用queue.last() –

回答

5

嘗試以下操作:

queue.Last() 

queue.Reverse().Peek()不起作用,因爲Reverse()返回IEnumerable<T>一個實例,其中沒有定義Peek()方法。

+0

那麼'fastOrders.First()'和'Peek'是一樣的嗎? 'First'和'Peek'有什麼區別? – javapowered

+0

'Peek()'從.NET 2.0開始就已經存在,而Linq(和'First()')可以從.NET 3.5獲得 – Fung

+0

請注意.Last()是隊列的O(N)操作。 –

相關問題