I have a class Node
public class Node
{
public string Header { get; set; }
public string Number { get; set; }
public List<Node> Nodes { get; set; }
}
The nested level is four levels. What I want to achieve is to find specified in function below string in any of nested lists. Here is a function:
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;
}
It's iterating through first nested list from first item in list, but not for the rest items nested lists. Can anyone give me a hint where is my mistake?
Thanks.