【发布时间】:2019-03-06 09:20:06
【问题描述】:
我有一个包含
的嵌套列表public class Person
{
public Person(string name)
{
this.Name = name;
}
public string Name { get; set; }
public List<Person> Childs { get; set; }
}
列表可以这样使用:
var Persons = new List<Person>();
Persons.Add(new Person("Eric"));
Persons[0].Childs = new List<Person>();
Persons[0].Childs.Add(new Person("Tom"));
Persons[0].Childs.Add(new Person("John"));
Persons[0].Childs[0].Childs = new List<Person>();
Persons[0].Childs[0].Childs.Add(new Person("Bill"));
Persons.Add(new Person("John");
我怎样才能展平这棵树(将所有节点和子节点以及子子节点放在一个列表中),例如我想用一个级别参数显示同一级别的所有孩子和父母。这意味着:
之前:
-Eric
-Tom
-John
-Bill
我想要什么:
-Eric, Level1
-Tom, Level2
-John, Level2
-Bill, Level3
【问题讨论】:
-
为什么嵌套的 for 循环不适合你?你也可能想看看递归,但我对你的想法是暂时保持简单,然后简单地处理一些 for 循环