【发布时间】:2014-02-13 15:03:02
【问题描述】:
请看下面的代码
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”返回一个空值。这导致第 2 行出现异常。我只能控制 ResolvePerson 方法。有没有办法可以跳过没有人的 personUri 而不是返回 null?
【问题讨论】:
-
Each是IEnumerable扩展名还是ForEach中的拼写错误? -
IEnumerable 扩展。
-
然后使用@wudzik的解决方案
-
似乎没有人真正阅读这里的问题。
标签: c# .net list lambda anonymous-methods