すみません、そのタイトルはただ痛いです。次のコード セグメントを 1 行に折りたたむ Linq to collections 拡張メソッドがあるかどうか疑問に思っています。
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;
}