作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
只是有点困惑如何实现这一目标。
我有网站和用户生成的类别,如果有一个事件,我想返回相关用户生成的类别的项目。所以我有这个,如果选择了一个类别,它可以正常工作,但如果类别为 null,它显然会失败,因为没有对象可以获取 isActive 属性。
var item = User.Items.Where(x => x.Categoires.FirstOrDefault(s => !s.isSystem).isActive)
所以我只需要检查 first 或 default 是否为 null,我们将不胜感激。
谢谢
最佳答案
也许:
var item = User.Items
.Where(ui => ui.Categoires.Any(uic => !uic.isSystem && uic.isActive));
这将返回具有至少一个事件的非系统类别的用户项。
A category is an optional field on item, and a category has a state of isActive, so if the item has an associated category which it doesnt have to, then that category must be active.
然后你必须包含没有类别的项目(我假设它不能为空):
var item = User.Items
.Where(ui => !ui.Categoires.Any() || ui.Categoires.Any(uic => !uic.isSystem && uic.isActive));
关于C# 速记 LINQ .Where 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21234163/
我是一名优秀的程序员,十分优秀!