gpt4 book ai didi

C# 速记 LINQ .Where 语句

转载 作者:太空狗 更新时间:2023-10-29 22:59:27 24 4
gpt4 key购买 nike

只是有点困惑如何实现这一目标。

我有网站和用户生成的类别,如果有一个事件,我想返回相关用户生成的类别的项目。所以我有这个,如果选择了一个类别,它可以正常工作,但如果类别为 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com