考虑一下你有一个集合的场景,在这个集合中是特定的对象。这些对象也包含一个集合,并且在这些集合中包含更多相同的对象。它是一个具有许多层的嵌套集合。
List<WorkItemClassificationNode> items;
List<WorkItemClassificationNode> subItems = items.Children;
List<WorkItemClassificationNode> subSubItems = subItems.Children;
// etc
Run Code Online (Sandbox Code Playgroud)
我只想要一种方法来遍历每个层,以便对每个项目应用相同的逻辑,但我想不出一种直接的方法来做到这一点,而无需编写大量嵌套循环。
您应该考虑编写递归方法。(互联网上有很多关于它的信息)
本质上,递归方法是一种调用自身的方法。
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);
}
Run Code Online (Sandbox Code Playgroud)
请注意不断增长的堆栈!
| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |