0

我想递归地检查四叉树中所有根节点的子节点。

下面的代码将导致返回所有子节点,但是在迭代集合时无法将元素添加到集合中(遗憾的是)

foreach (QuadTree tree in trees)
        {
            if (tree.Children.Count != 0)
            {
                foreach(QuadTree child in tree.Children)
                {
                    trees.Add(child);
                }
            }
        }

我该怎么做呢?

4

1 回答 1

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;
        }
于 2013-08-05T16:18:47.370 回答