gpt4 book ai didi

c# - C# 编译器不会优化 foreach 吗?

转载 作者:行者123 更新时间:2023-11-30 20:38:03 25 4
gpt4 key购买 nike

我读过很多次 foreach 在数组上的执行效率比 for 低一些(因为它需要构造函数/使用迭代器)并且人们提倡使用 for 循环。

我对编译器没有优化它感到有点惊讶(又名:将它转换为简单的 for 循环 IL 代码)。visual studio 2015 编译器为我们做了这么多(C# 6 语言特性)为什么不修复 foreach 的这种“不太为人所知”的错误用法?

最佳答案

foreach 在数组上的性能比 for 差的说法是不正确的。 Jon Skeet 对两者进行了性能比较:

并得出结论,对于数组“编译器发出大致相同的代码”,并且对于他的基准测试,“结果基本相同。”

关于c# - C# 编译器不会优化 foreach 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35476668/

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