相关疑难解决方法(0)

linq where子句和count导致null异常

除非p.School.SchoolName结果为null,否则下面的代码有效,在这种情况下,它会导致NullReferenceException.

if (ExistingUsers.Where(p => p.StudentID == item.StaffID &&
                        p.School.SchoolName == item.SchoolID).Count() > 0)
{
    // Do stuff.
}
Run Code Online (Sandbox Code Playgroud)

ExistingUsers是一个用户列表:

public List<User> ExistingUsers;
Run Code Online (Sandbox Code Playgroud)

这是stacktrace的相关部分:

System.NullReferenceException:未将对象引用设置为对象的实例.

在System.Linq.Enumerable.WhereListIterator 1源码)1.MoveNext()
at System.Linq.Enumerable.Count[TSource](IEnumerable

我应该如何处理这个where子句?

首先十分感谢.

c# linq

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

linq ×1