LINQ vs常规枚举

Joa*_*nge 2 .net c# linq performance

如果你的某些类型(即自定义集合)中有一些枚举方法,那么使用LINQ语法或旧学校枚举(for/foreach)是否更好?

使用.NET 3.5是给定的.

我问这是为了获得最大的性能和可读性.该应用程序也设计为并行.

你赞成哪一个?

Mat*_*les 6

Linq查询可以使用PLinq轻松并行(内置于.net 4)

我个人觉得Linq更容易阅读,但这取决于你作为开发人员.

foreach (var item in collection)
{
    if (item.Value == SomeOtherValue)
        performSomeProcessing();
}
Run Code Online (Sandbox Code Playgroud)

VS

foreach(var item in collection.Where(a => a.Value == SomeOtherValue))
{
    performSomeProcessing();
}
Run Code Online (Sandbox Code Playgroud)

我认为(虽然我没有亲自对此进行基准测试)编译器优化了小函数调用,因此性能不应该明显不同.