c#向节点数组中添加可见节点

本文关键字:节点 添加 数组 | 更新日期: 2023-09-27 17:54:34

我试图创建一个函数,将树中的每个可见节点添加到节点数组,然后返回它。

这是我到目前为止的代码,但努力弄清楚如何添加它们。

备注:该树最多有8个节点。

    private Node[] activeClients(AdvTree tree)
    {
        Node[] activeClients = new Node[8];
        foreach (Node client in tree.Nodes)
        {
            if (client.IsVisible)
            {
                //Add Visible Node to activeClients Node Array
            }
        }
        return activeClients;
    }

c#向节点数组中添加可见节点

可能是:

var visibleNodes = tree.Nodes.Where(client=>client.IsVisible)

特别是如果你谈论的是小数字(8个元素),而不是计算密集的函数,像List<T>, IEnumerable<T>这样的动态数组(或向量)是正确的选择。

通过这种方式,您的代码在将来也可以更好地伸缩。

我实际上发现我不需要一个节点数组,但是感谢帮助的家伙。

我用NodeCollection代替,它完美地满足了我的需求。

    private NodeCollection activeClients(AdvTree tree)
    {
        NodeCollection activeClients = new NodeCollection();
        foreach (Node client in tree.Nodes)
        {
            if (client.IsVisible)
            {
                //Add Visible Node to activeClients Node Array
                activeClients.Add(client, eTreeAction.Code);
            }
        }
        return activeClients;
    }