请看下面的代码
1. persons = Items.Select(item => componentResolver.ResolvePerson(new TridionUri(item.Id))).ToList();
2. persons.Each(person => person.AdditionalInfo); // gives null reference exception
ResolvePerson 看起来像:
public Person ResolvePerson(TridionUri personUri)
{
Person person = publicationResolverService.GetPerson(personUri);
if (author != null)
{
person.Id = personUri.ItemId.ToString();
}
return person;
}
现在的问题是,“项目”包含一个不存在该人的 ID。所以我的“ResolvePerson”返回 null。这会导致第 2 行出现异常。我只能控制 ResolvePerson 方法。有没有办法可以跳过没有人的 personUri 而不是返回 null?
最佳答案
您可以使用 Linq
中的 Where
来过滤空人员
persons.Where(person => person != null).Each(person => person.AdditionalInfo);
关于c# - 避免 null 进入列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21301838/