相关疑难解决方法(0)

LINQ按时间段聚合和分组

我试图了解如何使用LINQ按时间间隔对数据进行分组; 然后理想地聚合每个组.

查找具有明确日期范围的众多示例,我正在尝试按时段分组,例如5分钟,1小时,1天.

例如,我有一个用Date包装DateTime的类:

public class Sample
{
     public DateTime timestamp;
     public double value;
}
Run Code Online (Sandbox Code Playgroud)

这些观察结果包含在List集合中的一系列中:

List<Sample> series;
Run Code Online (Sandbox Code Playgroud)

因此,按小时分组和按平均值计算总值,我正在尝试执行以下操作:

var grouped = from s in series
              group s by new TimeSpan(1, 0, 0) into g
              select new { timestamp = g.Key, value = g.Average(s => s.value };
Run Code Online (Sandbox Code Playgroud)

这基本上是有缺陷的,因为它将TimeSpan本身分组.我无法理解如何在查询中使用TimeSpan(或表示间隔的任何数据类型).

c# linq aggregate-functions

34
推荐指数
3
解决办法
3万
查看次数

标签 统计

aggregate-functions ×1

c# ×1

linq ×1