一尘不染

在.NET中,“ for”或“ foreach”哪个循环运行得更快?

c#

在C#/ VB.NET / .NET中,哪个循环运行得更快,for或者foreach

自从我读了一个for循环工程快于foreach环路很久以前我以为这对所有集合,泛型集合,所有阵列,等真正站在

我搜寻了Google并发现了几篇文章,但其中大多数没有定论(阅读文章评论)且开放式。

理想的情况是列出每个方案,并为它们提供最佳解决方案。

例如(仅作为示例):

  1. 用于迭代1000个以上的字符串数组- for优于foreach
  2. 遍历IList(非通用)字符串- foreachfor

在网上找到了一些相同的参考资料:

  1. Emmanuel Schanzer撰写的原始宏大的旧文章
  2. CodeProject FOREACH与。对于
  3. 博客- foreach是否接受foreach,这是一个问题
  4. ASP.NET论坛-NET 1.1 C#forforeach

[编辑]

除了可读性之外,我对事实和数据真的很感兴趣。在某些应用程序中,压缩性能优化的最后一步很重要。


阅读 399

收藏
2020-05-19

共1个答案

一尘不染

Patrick
Smacchia上个月在博客上发表了以下结论:

  • List上的for循环比List上的foreach循环便宜2倍多。
  • 在数组上循环比在List上循环便宜大约2倍。
  • 结果,使用for循环在数组上循环比使用foreach循环在List上便宜5倍(我相信这是我们所有人所做的)。
2020-05-19