3
对不起,该标题只是伤害。我不知道是否有坍塌下面的代码段为单线一个LINQ到集合扩展方法:是否有一种linq-y方式来对联合对象集合的属性进行收集?
public IEnumerable<Child> GetAllChildren(IEnumerable<Parent> parents){
var result = new List<Child>();
foreach(Parent parent in parents)
foreach(Child child in parent.Children)
result.Add(child);
return result;
}
如果可以折叠到这一条语句,尝试在疯狂难度:
public IEnumerable<Child> GetAllChildren(IEnumerable<Grandparent> nanas){
var result = new List<Child>();
foreach(Grandparent papa in nanas)
foreach(Parent parent in papa.Children)
foreach(Child child in parent.Children)
result.Add(child);
return result;
}
返回值必须是一个IEnumerable,并做了最简单的方法(至少据我所知)是返回实现IEnumerable集合。感谢你的回答! – Will 2008-10-15 15:45:40
您可以返回一个集合,或者使用yield return,如果您不熟悉msdn,可以在msdn上查找yield关键字。 – 2008-10-15 15:46:26