鉴于此课程:
public class Parent
{
public Child[] Children {get;set;}
}
这个数组:
Parent[] parents;
如何使用Linq或其他方法从parent数组中检索所有子项?这看起来很糟糕:
IList<Child> children = new List<Child>();
foreach(var parent in parents)
children.AddRange(parent.Children);
或者那不是很糟糕? : - )
答案 0 :(得分:9)
试试这个:
parents.SelectMany(p => p.Children).ToArray()
答案 1 :(得分:1)
我不认为你在问题中提出的解决方案是不好的。它非常易读且易于理解正在发生的事情。除非你有某些原因需要对此进行优化,否则我认为没有任何错误。
如果你真的想要使用Linq,这是另一个故事(在我看来完全有效 - 与Linq的经验/实践越多越好)