我正在做一个项目,我使用 Linq
来获取数据。现在我有一个场景,我必须检查字段值是否包含我使用 Contains()
函数的给定字符串。
一切正常,但是当任何字段为 null
时,就会产生问题。
personData = personData.Where(x => x.FirstName.ToLower().Contains(q.ToLower()) || x.LastName.ToLower().Contains(q.ToLower())).Select(x => x).ToList();
此处,当 FirstName 或 LastName 字段具有空值时,它会抛出错误。
那么,我该如何克服这个问题呢?
最佳答案
使用以下方法:x.FirstName?.Contains(substring) ??假的
从 C# 6 开始,您可以使用 null 条件运算符,这大大简化了一些查询。您可以阅读有关此主题的更多信息 here
关于c# - 如果在 linq 中字段值为空,如何使用 Contains() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41504832/