使用LINQ从List或foreach循环获取行是否更快

时间:2015-01-12 04:11:49

标签: c# linq

LINQ是用于从List中选择行的更快的方法吗?

EG

var matchingStaticPricingResult =
                    (staticPricingResult.AsEnumerable()
                    .Select(a => new { a.alias, a.price, specialPricing = true })
                    .Where(a => a.alias.ToLower() == product.Alias.ToLower())
                    .Take(1)).ToList();

VS

foreach(var item in staticPricingResult){
    if(item.alias.equals(product.Alias){
        //dostuff
    }
}

1 个答案:

答案 0 :(得分:0)

LINQ内部迭代就像foreach一样。 LINQ对于大多数操作来说都很懒惰,除非有人开始枚举结果,否则它实际上什么也做不了。

有关详细信息,请参阅以下链接。

FOR vs FOREACH vs LINQ

LINQ vs FOREACH vs FOR Loop Performance

LINQ vs FOREACH Round 1