相关疑难解决方法(0)

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

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

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

我搜索谷歌并发现了一些文章,但其中大多数都没有结果(阅读文章的评论)和开放式.

什么是理想的是列出每个场景和相同的最佳解决方案.

例如(只是它应该如何的一个例子):

  1. 迭代1000多个字符串的数组 - for比...更好foreach
  2. 迭代IList(非泛型)字符串 - foreach比...更好for

在网上找到的一些参考文献:

  1. Emmanuel Schanzer的原创宏伟文章
  2. CodeProject FOREACH Vs. 对于
  3. 博客 - foreach或不是foreach,这就是问题
  4. ASP.NET论坛 - NET 1.1 C#forvsforeach

[编辑]

除了可读性方面,我对事实和数据非常感兴趣.有些应用程序的最后一英里性能优化受到挤压很重要.

.net c# performance for-loop

322
推荐指数
20
解决办法
19万
查看次数

.Net - 什么时候是List <T> .ForEach优先于标准的foreach循环?

通用列表类有一个.ForEach(Action<T> action)方法.现在我已经完成了一些关于它们如何表现的简单时间,似乎通用ForEach是较差的表演者.(Snippet Compiler Friendly)代码如下 -

public static class timer{
    public static long foreachloop = 0;
    public static long Gforeachloop = 0;}

public class something{
    public List<string> myStrings = new List<string>();

    public something()
    {
        for(int i = 1; i<=5000000;i++)
        {
            myStrings.Add(i.ToString());
        }
    }}

public class cls1{
    private static List<string> Strings = new List<string>();
    private static List<string> OtherStrings = new List<string>();

    public static void RunSnippet()
    {
        something s = new something();

        Stopwatch watch = new Stopwatch();
        watch.Start();
        foreach(string …
Run Code Online (Sandbox Code Playgroud)

c# generics performance generic-list

3
推荐指数
2
解决办法
787
查看次数

标签 统计

c# ×2

performance ×2

.net ×1

for-loop ×1

generic-list ×1

generics ×1