我有一个嵌套列表,其中包含
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
What I want:
-Eric, Level1
-Tom, Level2
-John, Level2
-Bill, Level3