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

jav*_*red 4 c#

队列中含有特殊的方法queue.Peek(),我为什么要使用它时,我可以使用一般的queue.First()queue.Last()

Joe*_*Joe 7

Peek是队列的经典方法,其中FirstLastLinq方法一样.由于队列最有可能实现,因此IEnumerable您将获得与严格队列无关的方法First和Last.


编辑

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

  • 这些方法可以完美地工作,但是,从语义上讲,您不需要队列.也许列表或数组或集合可能适合您的需要. (2认同)