透视输入数据 - 我可以使用哪种结构?

时间:2016-07-13 09:33:33

标签: c# data-structures tabular

我输入的数据是作为对象列表给出的:

Name: "Room A",
Time: "15:00",
Topic: "Some Topic"

Name: "Room A",
Time: "18:00",
Topic: "Some Other Topic"

Name: "Room B",
Time: "12:00",
Topic: "Some More Topic"

Name: "Room C",
Time: "13:00",
Topic: "Even More Topic"

我必须从中创建不同的表。首先,应该有一个表格,其中行基于时间,cols基于Name,但是将来,当对象增长时,我希望能够围绕其他属性。

我想编写如下代码:

var structure = new SomeCSharpStructure(); // <------

for(int i=0;i<24) structure.AddRow(i+":00");

foreach(var name in inputData.Select(x=>x.Name).Distinct()) structure.AddColumn(name);

foreach(var data in inputData) {
    structure[data.Name][data.Time] = data.Topic; // or
    // structure.AddCell(data.Name,data.Time,data.Topic);
}

...

foreach(var row in structure.getRows()) foreach(var cell in row.getCell())
{
     PrintCellContent(cell);
}

虽然我也愿意接受其他建议。

但是现在我正在寻找一种支持这种实例化的结构,而不会在整个地方溢出NullPointerExceptionsIndexOutOfRangeExceptions。在我自己实施之前,我想确保没有可用的。

有谁知道一个适合我需要的结构?

0 个答案:

没有答案