我想从一个可能为空的对象数组中获取属性,但总是得到一个空引用异常。
我如何告诉LINQ,在这种情况下不要处理它或返回一个空字符串?
foreach (Candidate c in candidates) {
results.Add(new Person
{
firstName = c.firstname, //ok
lastName = c.Name, //ok
// contactItems is an array of ContactItem
// so it can be null that's why I get null exception
// when it's actually null
phone = c.address.contactItems.Where( ci => ci.contactType == ContactType.PHONE).First().contactText
}
);
}
我也尝试过不使用null。但是我不知道如何告诉LINQ如果数组为空就不进行处理。
phone = c.address.contactItems.Where( ci => ci != null && ci.contactType == ContactType.PHONE).First().contactText
address
或contactItems
不是null
吗? - James