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;
}
可能是:
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;
}