gpt4 book ai didi

c# - 在 C# 中迭代​​堆栈的最快方法

转载 作者:太空狗 更新时间:2023-10-29 19:49:12 24 4
gpt4 key购买 nike

我觉得使用 GetEnumerator() 和强制转换 IEnumerator.Current 很昂贵。有更好的建议吗?

如果不同的数据结构提供类似的功能且性能更好,我愿意使用它。

经过思考:
通用堆栈是否是一个更好的主意,这样就不需要强制转换了?

最佳答案

Stack<T> (使用 foreach)确实会保存类型转换,但实际上是拳击 isn't all that bad在宏伟的计划中。如果您有性能问题,我怀疑这是您可以增加很多值(value)的领域。使用分析器,并专注于真正的问题 - 否则这是不成熟的。

请注意,如果您只想读取一次数据(即您很乐意使用堆栈),那么这可能会更快(避免枚举器的开销); YMMV.

    Stack<T> stack = null;
while (stack.Count > 0)
{
T value = stack.Pop();
// process value
}

关于c# - 在 C# 中迭代​​堆栈的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/252917/

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