LINQ Where(谓词)与FirstOrDefault(谓词)

时间:2012-07-26 02:05:10

标签: linq c#-4.0

之间是否存在明显的性能差异:

something.Where(predicate).FirstOrDefault();

something.FirstOrDefault(predicate);

我倾向于使用两者,但我想知道在性能方面是否有明显的赢家。

1 个答案:

答案 0 :(得分:10)

这取决于此Where是针对IQueryable还是IEnumerable。 在IQueryable的情况下,差异是基于提供者的实现,但更可能没有差异,并且会产生相同的查询。

对于IEnumerable,它应该可以忽略不计。