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

以下两者之间是否存在明显的性能差异:

something.Where(predicate).FirstOrDefault();

something.FirstOrDefault(predicate);

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

最佳答案
这取决于这个位置是针对IQueryable还是IEnumerable.
在IQueryable的情况下,差异是基于提供者的实现,但更可能没有差异并且将产生相同的查询.

在IEnumerable的情况下,它应该可以忽略不计.

转载注明原文:LINQ Where(谓词)与FirstOrDefault(谓词) - 代码日志