LINQ Where(predicate) vs. FirstOrDefault(predicate)

标签 linq c#-4.0

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

something.Where(predicate).FirstOrDefault();


something.FirstOrDefault(predicate);

?

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

最佳答案

这要看是不是Where反对 IQueryableIEnumerable .
如果是 IQueryable差异基于提供者的实现,但更有可能没有差异并且会产生相同的查询。

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

关于LINQ Where(predicate) vs. FirstOrDefault(predicate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11661319/

相关文章:

c# - 带格式的 IEnumerable<T> 到 Excel (2007)

asp.net-mvc-3 - Windows 身份验证在 IIS 7.5 中不起作用

c# - 从 csv 文件读取并在 .net 中处理它

c# - 如何实现带约束的泛型方法

c# - 使用 LINQ 对数字进行分组

linq - 无法转换为 system.guid

c# - LINQ Where 语句用 OR 连接

c# - 用数据填充分层类结构

c# - Entity Framework POCO - 更新集合

c#-4.0 - 'Google.Apis.Json.NewtonsoftJsonSerializer' 的类型初始值设定项抛出异常