为什么要使用queue.Peek()而不是queue.First()/ Last()

时间:2011-12-14 14:47:08

标签: c#

队列包含特殊方法queue.Peek(),当我可以使用常规queue.First()queue.Last()时,为什么要使用它?

1 个答案:

答案 0 :(得分:7)

Peek是队列的经典方法,其中FirstLast是Linq方法。由于队列很可能实现IEnumerable,因此您将获得与严格队列无关的方法First和Last。

<小时/> EDIT

改变队列规律并不是世界末日。听起来你正在使用这种结构来满足你的需求。虽然谁希望队列像队列一样行动,但对下一个程序员来说可能会让人感到困惑。也许你创建了一个扩展Queue的类,称为StackedQueue。然后,如果有人需要维护您的代码,他们就不会期待队列的行为