我想以递归方式检查四叉树中所有根节点的子节点。
下面的代码会导致返回所有子节点,但是在通过它时可能无法将元素添加到集合中(遗憾的是)
foreach (QuadTree tree in trees)
{
if (tree.Children.Count != 0)
{
foreach(QuadTree child in tree.Children)
{
trees.Add(child);
}
}
}
我将如何做到这一点?
答案 0 :(得分:0)
谢谢大家,使用索引只是添加到列表的末尾,我想出了这个。
int max = trees.Count;
for (int i = 0; i < max; i++)
{
QuadTree tree = trees[i];
if (tree.Children.Count != 0)
{
foreach(QuadTree child in tree.Children)
{
trees.Add(child);
}
}
max = trees.Count;
}