我输入的数据是作为对象列表给出的:
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);
}
虽然我也愿意接受其他建议。
但是现在我正在寻找一种支持这种实例化的结构,而不会在整个地方溢出NullPointerExceptions
或IndexOutOfRangeExceptions
。在我自己实施之前,我想确保没有可用的。
有谁知道一个适合我需要的结构?