【发布时间】:2017-06-02 23:18:02
【问题描述】:
我有一个类节点
public class Node
{
public string Header { get; set; }
public string Number { get; set; }
public List<Node> Nodes { get; set; }
}
嵌套级别为四级。我想要实现的是在任何嵌套列表中的字符串下面的函数中找到指定的。这是一个函数:
public string getNumber(List<Node> currentList, string name)
{
string number = string.Empty;
foreach (var item in currentList)
{
if (item.Header == name)
{
number = item.Number;
return number;
}
}
if (number == string.Empty)
{
foreach (var item in currentList)
{
number = getNumber(item.Nodes, name);
return number;
}
}
return null;
}
它从列表中的第一个项目迭代第一个嵌套列表,但不适用于其余项目的嵌套列表。谁能给我一个提示我的错误在哪里?
谢谢。
【问题讨论】:
-
我没有看到这里的递归......也许你想再次调用
getNumber而不是getNumberFromName? -
我的错,应该改用 getNumber,但无论如何它都不能正常工作。
标签: c# recursion nested-lists