【发布时间】:2009-12-28 22:23:08
【问题描述】:
假设我有以下平面格式的信息,例如对象列表:
List<Line> lines = new List<Line>
{
new Line{Id = 1, Level = 0},
new Line{Id = 2, Level = 1},
new Line{Id = 3, Level = 1},
new Line{Id = 4, Level = 2},
new Line{Id = 5, Level = 2},
new Line{Id = 6, Level = 1},
new Line{Id = 7, Level = 1},
new Line{Id = 8, Level = 2},
new Line{Id = 9, Level = 1}
};
每个对象都有一个 id 和一个级别。我想以嵌套列表结束。为此,我有一个班级,可以根据级别列出孩子。
public class NestedLine
{
public int Id;
public List<NestedLine> Children = new List<NestedLine>();
}
将平面列表转换为嵌套列表的最简单方法是什么?
编辑:关于如何构建列表的唯一信息是行的顺序和级别。结果应该是这样的:
1
--2
--3
--4
--5
--6
--7
--8
--9
【问题讨论】:
-
我认为与所需输出的描述有些不一致。你能仔细检查一下吗?我不太明白如何从输入平面列表中推断出孩子属于哪个父母。
-
我删除了描述并用图表替换了它。很抱歉造成混乱。