我有resData
个Courses
listItem和Error
属性的对象。我检查了所有Courses
列表项Error
属性,所有属性都是null
。
但是,当我签入以下内容时,它会返回true
。
我想知道我错过了什么?
if(resData.Courses.Select(x => x.Error != null && x.Error.Length > 0).Count() > 0)
{
Console.WriteLine("Error");
}
答案 0 :(得分:5)
这是因为您使用的是Select
,您正在预测您的收藏,而不是应用条件,您应该使用Where
代替,或使用Count
的重载方法:
if(resData.Courses.Count(x => x.Error != null && x.Error.Length > 0) > 0)
正如@Chris指出的那样,如果你使用Any
来避免枚举整个列表,那会更好:
if(resData.Courses.Any(x => x.Error != null && x.Error.Length > 0))