c# - LINQ 与常规枚举

标签 c# .net linq performance

当您的某些类型(即自定义集合)中有一些枚举方法时,使用 LINQ 语法还是只使用老式枚举(for/foreach)更好?

使用 .NET 3.5 是理所当然的。

我要求这样做以获得最佳性能和可读性。该应用程序还设计为并行。

你喜欢哪一个?

最佳答案

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

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

foreach (var item in collection)
{
    if (item.Value == SomeOtherValue)
        performSomeProcessing();
}

对比

foreach(var item in collection.Where(a => a.Value == SomeOtherValue))
{
    performSomeProcessing();
}

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

关于c# - LINQ 与常规枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/977057/

相关文章:

c# - 为什么平方根运算这么慢?

c# - 中继器中的匿名类型 - Eval?动态的?

c# - 在 Compact Framework 3.5 中使用 lambda 表达式加载类在首次加载时速度很慢

c# - 我应该如何在 C# > 4.0 中运行后台线程

c# - 将 C# 转换为非托管 C++

c# - ObjcRuntime.Selector 不适用于预期对象(xamarin)

c# - 什么是NullReferenceException,如何解决?

.net - .net 垃圾收集器何时运行?

c# - 转换 SqlDataReaders

c# - 根据给定的顺序在 C# 中重新排列列表