我有以下类别的对象列表:
public class CounterData
{
public DateTime counterTime { get; set; }
public int counterName { get; set; }
public int count { get; set; }
}
例如,我有以下格式的数据列表{counterTime, counterName, count}
:
{"Aug 8 2016 9:00AM","counter1",11}
{"Aug 8 2016 9:05AM","counter2",12}
{"Aug 8 2016 9:11AM","counter3",47}
{"Aug 8 2016 9:12AM","counter3",20}
{"Aug 8 2016 9:13AM","counter1",12}
{"Aug 8 2016 9:30AM","counter3",61}
{"Aug 8 2016 9:35AM","counter2",35}
{"Aug 8 2016 9:39AM","counter1",16}
{"Aug 8 2016 9:40AM","counter1",92}
{"Aug 8 2016 9:53AM","counter2",19}
我想按以下方式对计数器进行分组counterName
and counterTime
每 15 分钟间隔聚合一次。对于上面的例子,结果列表应该是:
{"Aug 8 2016 9:00AM","counter1",23}
{"Aug 8 2016 9:00AM","counter2",12}
{"Aug 8 2016 9:00AM","counter3",67}
{"Aug 8 2016 9:30AM","counter3",61}
{"Aug 8 2016 9:30AM","counter2",35}
{"Aug 8 2016 9:30AM","counter1",108}
{"Aug 8 2016 9:45AM","counter2",19}
9:00AM-9:15AM,共有 2 条条目counter1
。所以count
值是条目的总和。其他计数器也类似。
我们可以使用LINQ 分组依据 https://msdn.microsoft.com/en-us/library/bb534304(v=vs.110).aspx解决这个问题?如果是这样那怎么办?