C# LINQ:如何返回所有父元素的所有子元素
我有C# LINQ:如何返回所有父元素的所有子元素,c#,linq,C#,Linq,我有IEnumerable AllParents。每个父项都有IEnumerable子项。如何使用LINQ将所有家长的所有孩子提取到一个IEnumerable AllChildren 对于我现在使用的每种方式: var allChildrenList = new List<Child>(); foreach (var parent in AllParents) { allChildrenList.AddRange(parent.Children); } AllChildren
IEnumerable AllParents
。每个父项都有IEnumerable子项
。如何使用LINQ将所有家长的所有孩子提取到一个IEnumerable AllChildren
对于我现在使用的每种方式:
var allChildrenList = new List<Child>();
foreach (var parent in AllParents)
{
allChildrenList.AddRange(parent.Children);
}
AllChildren = allChildrenList;
var allChildrenList=new List();
foreach(所有父对象中的var父对象)
{
allChildrenList.AddRange(parent.Children);
}
allChildrenList=allChildrenList;
您可以使用
将序列的每个元素投影到IEnumerable并展平
将结果序列转换为一个序列
它将遍历所有父对象,并将所有父对象的子对象合并到一个列表中
var allChildrens = AllParents.SelectMany(x => x.Children).ToList();