展平嵌套的父/子节点

时间:2016-10-24 17:57:54

标签: c# linq nodes flatten

对..所以我实际上不知道如何标题这个问题,但基本上我有一个节点类,我可以创建父节点(根)的子节点但我希望能够首先访问最低节点所以子节点的子节点等等。并准备好根节点(不再在根节点上执行任何功能)。

节点类:

class Node
{
    private string id { get; set; }
    private Node parent { get; set; }
    private List<Node> children { get; set; }
    private string type { get; set; }

    public Node Parent
    {
        get
        {
            return parent;
        }
        set
        {
            parent = value;
        }
    }

    public Node(string id)
    {
        children = new List<Node>();
        this.id = id;
    }

    public Node AddChild(string id)
    {
        children.Add(new Node(id) { Parent = this });
        return children.Last();
    }

    public Node[] AddChildren(string[] children)
    {
        return children.Select(c => AddChild(c)).ToArray();
    }

    public void Flatten(Node node)
    {
        // Create Flatten here
    }
}

这是我尝试使用paint解释我的问题: enter image description here

我忘了添加到绘画图像,但在这种情况下,级别3是首先完成功能的级别

如果您有任何建议,我们将不胜感激,如果您需要更多信息,请询问。我一直在寻找过去两天的答案,似乎无法找到适合我目的的东西。

谢谢,

赖安

0 个答案:

没有答案