相关疑难解决方法(0)

LINQ查询有很多开销吗?

IEnumerable<T>轻量级还是重量级的简单LINQ查询?它们如何与手写forforeach循环比较?何时更喜欢LINQ与手动搜索有一般指导原则?

例如:

var lowNums =
    from n in numbers
    where n < 5
    select n;
Run Code Online (Sandbox Code Playgroud)

相比:

List<int> lowNums = new List<int>();

foreach (int n in numbers)
{
    if (n < 5)
    {
        lowNums.Add(n);
    }
}
Run Code Online (Sandbox Code Playgroud)

我和一位同事谈论LINQ,他对使用它表示了一些犹豫.他猜测为了支持LINQ可以做的一切,可能会在"幕后"进行大量工作.

以上示例之间是否存在显着的性能差异?是否有任何好的资源可以谈论集合上的LINQ性能?一个简单的Google搜索linq表现出现了一些看似过时的文章.

.net linq performance

21
推荐指数
4
解决办法
2812
查看次数

标签 统计

.net ×1

linq ×1

performance ×1