我有与此类似的 json:
{
Name: Level 1,
Children: [
{
Name: Level 2,
Children: [
{
Name: Level 3,
Children: [
{
Name: Level 4,
Children: [
{
Name: Level 5,
Children: []
}
]
}
]
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
目前深度级别为五,我正在尝试使用与此类似的嵌套 for 循环:
for()
{
for()
{
for()
{
for().....
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一种方法可以在不使用这么多 for 循环的情况下生成它,因为目前的深度级别是五,但可能会更多。
考虑一下,在稍后的某个时刻,您决定添加更多级别。使用这种循环方法,您需要修改代码,添加更多嵌套循环来处理这种情况。所以我们可以说这不是一个好方法,对于这种特定情况,我建议您使用如下递归方法:
public void RecursiveMethod(object inputCollection)
{
// process here
if(Check for child collection)
{
RecursiveMethod(inputCollection.Children)
}
// process here no more child exists
}
Run Code Online (Sandbox Code Playgroud)
** 注意:** 在上面的代码中使用适当的类型object,因为它是一个 JSON,您可以使用一种序列化方法来获取集合,但您仍然需要递归方法来处理从序列化器输出的集合