LINQ:创建列表中每个节点的左右孩子的列表



我有一个list节点,其中node是

public class Node
{
 public Node Left
 public Node Right
}

我想提取一个看起来像这样的列表:

{nodes[0].Left, nodes[0].Right, nodes[1].Left, nodes[1].Right, ...}

我正在尝试使用汇总,cont,选择和selectany

with selectmany

var result = list.SelectMany(x=>new List<Node>(){x.Left, x.Right}).ToList();

尝试以下:

var qry =
    from node in nodes
    let nodeValues = new Node[] { node.Left, node.Right }
    from subnode in nodeValues
    select subnode;

这最终将在 SelecMany中恢复,只是在查询语法中。

最新更新