Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ:如何返回所有父元素的所有子元素_C#_Linq - Fatal编程技术网

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();