我试图从一个可以为空的对象数组(数组)中获取一个属性,但我总是得到一个空引用异常。
我如何告诉 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