c# - 如果查询未返回任何内容,linq 选择项的默认值

标签 c# linq

如果 where 条件没有返回结果,如何向返回的集合插入一个默认值?

from i in data.collection
where i.Type == type
select i.Count

最佳答案

使用 Enumerable.DefaultIfEmpty方法来做到这一点。

示例(在方法语法中,因为恕我直言,它不那么笨拙):

data.collection.Where(i => i.Type == type)
               .DefaultIfEmpty(defaultObject)
               .Select(i => i.Count);

关于c# - 如果查询未返回任何内容,linq 选择项的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13584112/

相关文章:

c# - Task.ContinueWith(..., TaskScheduler.FromCurrentSynchronizationContext()) *不* 在 UI 线程上运行的任何场景?

c# - 如何在 C# 代码中构建 DataTemplate?

c# - 如何将包含 3 个项目的元组列表分组,其中 element.item3 == element2.item2

c# - 如何将 SortableBindingList 分配给 LINQ 查询

c# - 使用 All() 时 Lambda 表达式未返回正确结果

c# - MySql 说对于不为空的列,列不能为空! [使用命名参数]

c# - 识别原始打印机

c# - 如何从头开始编程?

c# - 对 LINQ 参数感到困惑

linq - 使用 LINQ 获取 AttributeCollection 中键的值