最近我看到一位同事FirstOrDefault()在与Stack交互时使用而不是Peek().
我从未想过使用扩展方法而不是内置方法Peek(),我想知道两者之间的含义/差异是什么.
一个推荐超过另一个?用ildasm.exe查看并没有教我任何有用的东西.
FirstOrDefaultT如果堆栈为空,将返回默认值; Peek会扔.
就功能变化而言,这就是它. FirstOrDefault添加几层间接,创建一个可枚举/枚举器对象(最终需要处理),计算是否有更多项,通过可枚举获取第一个项,然后返回它,而不是让堆栈本身只做必要的操作.虽然这在技术上更有效,但在绝大多数情况下,这种情况极不可能发生.
| 归档时间: |
|
| 查看次数: |
564 次 |
| 最近记录: |