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# 嵌套foreach的Lambda表达式_C#_Linq_Foreach_Lambda - Fatal编程技术网

C# 嵌套foreach的Lambda表达式

C# 嵌套foreach的Lambda表达式,c#,linq,foreach,lambda,C#,Linq,Foreach,Lambda,如何为以下嵌套的foreach循环编写lambda表达式: var temp= new List<Items>(); foreach (var item in dto.Items) { temp.Add(item); foreach (var child in item.Children) { temp.Add(child); } } var temp=new List(); foreach(数据项中的变量项) { 临时添加(项目); fo

如何为以下嵌套的foreach循环编写lambda表达式:

var temp= new List<Items>();
foreach (var item in dto.Items)
{
    temp.Add(item);
    foreach (var child in item.Children)
    {
      temp.Add(child);
   }
}
var temp=new List();
foreach(数据项中的变量项)
{
临时添加(项目);
foreach(item.Children中的变量child)
{
临时添加(子项);
}
}
我应该这样做

编辑:

正如xanatos所提到的,如果您希望拥有与循环产生的顺序相同的顺序,则应使用以下命令:

dto.Items.SelectMany(item => new[] { item }.Concat(item.Children))
我应该这样做

编辑:

正如xanatos所提到的,如果您希望拥有与循环产生的顺序相同的顺序,则应使用以下命令:

dto.Items.SelectMany(item => new[] { item }.Concat(item.Children))

您是否只想要顶级项目及其子项?“孙子女”呢?顺序重要吗?我只想要顶级物品和他们的孩子。顺序不重要。你只想要顶级物品和它们的孩子吗?“孙子女”呢?顺序重要吗?我只想要顶级物品和他们的孩子。秩序不重要。