【发布时间】:2010-06-18 13:51:02
【问题描述】:
什么是转换平面结构最简单有效的方法:
object[][] rawData = new object[][]
{
{ "A1", "B1", "C1" },
{ "A1", "B1", "C2" },
{ "A2", "B2", "C3" },
{ "A2", "B2", "C4" }
// .. more
};
成层次结构:
class X
{
public X ()
{
Cs = new List<string>();
}
public string A { get; set; }
public string B { get; set; }
public List<string> Cs { get; private set; }
}
结果应该是这样的
// pseudo code which describes structure:
result =
{
new X() { A = "A1", B = "B1", Cs = { "C1", "C2" } },
new X() { A = "A2", B = "B2", Cs = { "C3", "C4" } }
}
最好使用 Linq 扩展方法。目标类 X 可以更改(例如,列表的公共设置器),但前提是不能像现在这样/有用。
【问题讨论】:
-
你需要某种分组方式
-
@Andrey,是的,这是一个由
A和B组成的组,并将Cs聚合到一个列表中。