gpt4 book ai didi

c# - 尝试从空集合中进行选择时的 LINQ 查询问题

转载 作者:太空狗 更新时间:2023-10-29 23:15:30 24 4
gpt4 key购买 nike

我有以下 LINQ 查询,它从 2 个集合中提取最终结果集:usersAdusersWithSecurity:

var results = from usrAd in usersAd
from usrRepo in usersWithSecurity
.Where(x => usrAd.Value.ToLower() == x.Value.ToLower())
.DefaultIfEmpty()
select new User(userRepository)
{
ID = usrRepo == null ? null : usrRepo.ID,
Value = usrAd.Value,
FullName = usrAd.FullName
};

问题是我不断收到以下错误:Value cannot be null.

我知道问题是 usersWithSecurity 集合是空的。我在末尾添加了“.DefaultIfEmpty()”,但它仍然会产生异常。

我如何修改我的 LINQ 语句以继续并从 usersAd 返回 everything 和从 usersWithSecurity 返回项目(如果它存在且值匹配) (如 lambda 所示)?

最佳答案

var usersWithSecurity = _biz.getUsersWithSecurity() ?? new List<User>();

var results = from usrAd in usersAd
from usrRepo in usersWithSecurity
where usrAd.Value.ToLower() == usrRepo.Value.ToLower()
select new User(userRepository)
{
ID = usrRepo == null ? null : usrRepo.ID,
Value = usrAd.Value,
FullName = usrAd.FullName
};

关于c# - 尝试从空集合中进行选择时的 LINQ 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989683/

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