gpt4 book ai didi

c# - linq where 子句中的空值

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:49 25 4
gpt4 key购买 nike

我遇到一个问题,我想返回匹配的结果,如果我尝试匹配的属性之一为空,我会收到错误消息。

  if (!string.IsNullOrEmpty(searchString))
{
Infos = Infos.Where(
x =>
x.FirstName.ToLower().Contains(searchString) ||
x.LastName.ToLower().Contains(searchString) ||
x.ContractNum.ToLower().Contains(searchString) ||
x.VIN.ToLower().Contains(searchString) ||
x.Claim.InitiatedBy.ToLower().Contains(searchString)
).ToList();
}

例如,如果 ContractNumVIN 为空,则会抛出错误。我不确定如何在 linq 查询中检查其中一个是否为 null。

最佳答案

您可以添加显式空检查:

  Infos = Infos.Where(
x =>
(x.FirstName != null && x.FirstName.ToLower().Contains(searchString)) ||
(x.LastName != null && x.LastName.ToLower().Contains(searchString)) ||
(x.ContractNum != null && x.ContractNum.ToLower().Contains(searchString)) ||
(x.VIN != null && x.VIN.ToLower().Contains(searchString)) ||
(x.Claim != null && x.Claim.InitiatedBy != null && x.Claim.InitiatedBy.ToLower().Contains(searchString))
).ToList();

关于c# - linq where 子句中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43806385/

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