我从我的服务器收到一堆价值的各种日期,每个值对应一天半小时,即今天会有50个值...它将是一个基本的键值对,就像一个以下
valsFromServer[28/10/2010 00:00:00] = 23;
valsFromServer[28/10/2010 00:30:00] = 100;
valsFromServer[28/10/2010 01:00:00] = 200;
.
.
.
valsFromServer[30/10/2010 23:30:00] = 100;
valsFromServer[30/10/2010 23:30:00] = 200;
我需要将其转换为矩阵格式..比如
28/10/2010 23 100 200....till the 50th value
.
.
30/10/2010 34 45 65...till the 50th value
日期时间也可以在任何仲裁时间开始,它不一定要在00:00:00开始,它甚至可以从23:00:00开始,但是这个值应该放在适当的索引处。这种情况将在输出矩阵的第48位。
最好的方法是什么?
我编写了一个linq查询来解析传入的数据(包含所有值)
date = row => row.Field<DateTime>("DateColumn").Date;
priceSelector = column => column.Field<double>("PriceColumn");
matrixRows = cells => MatrixRow.Create(cells.Key, cells.Select(priceSelector));
return table.AsEnumerable()
.GroupBy(date)
.Select(matrixRows);
这实际上给了我按日期分组的矩阵输出格式,但是目前如何创建与时间相关的输出。请问你能帮忙吗?
答案 0 :(得分:1)
我认为最好是创建一个类型,该类型采用您输入的键值对并在本地存储它们。
然后有一个方法将所有值解析为所需的输出。
它可以创建一个多维数组,并根据需要将vaules添加到数组