gpt4 book ai didi

c# - System.Collections.Stack.Peek() 与 FirstOrDefault()

转载 作者:行者123 更新时间:2023-11-30 13:36:51 30 4
gpt4 key购买 nike

最近我看到一位同事在与 Stack 交互时使用 FirstOrDefault() 而不是 Peek()

我从未想过使用扩展方法而不是内置的 Peek(),我想知道这两者之间的含义/区别是什么。

一个比另一个推荐吗?查看 ildasm.exe 并没有教给我任何有用的东西。

最佳答案

如果堆栈为空,

FirstOrDefault 将返回 T 的默认值; Peek 将抛出。

就功能更改而言,这就是它。 FirstOrDefault 增加了几层间接,创建一个可枚举/枚举器对象(最终需要被销毁),计算是否还有更多的项目,通过枚举获取第一个项目,然后返回它,而不是让堆栈本身只做必要的操作。虽然这在技术上需要更多的工作,但在绝大多数情况下这不太可能足以发挥作用。

关于c# - System.Collections.Stack.Peek() 与 FirstOrDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29128733/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com