考虑您拥有集合的场景,并且该集合内部是特定对象。这些对象也包含一个集合,在这些集合中更多的是相同的对象。它是一个有很多层的嵌套集合。
List<WorkItemClassificationNode> items;
List<WorkItemClassificationNode> subItems = items.Children;
List<WorkItemClassificationNode> subSubItems = subItems.Children;
// etc
我只想要一个迭代遍历每个层的方法,以便对每个项应用相同的逻辑,但是我不能想到一种直接的方法,而不需要编写大量的嵌套循环。
答案 0 :(得分:4)
您应该考虑编写递归方法。 (互联网上有很多关于它的信息)
本质上,递归方法是一种自称的方法。
void DoThing(WorkItemClassificationNode node)
{
if (node == null)
return;
//Do something with node
if (node.Children == null)
return;
foreach(var child in node.Children)
DoThing(child);
}