我有一节课:
public class LogViews2
{
public string DateYYMMDD { get; set; }
public double CPUSpeed { get; set; }
public double DBSpeed { get; set; }
}我正在填写的数据:
var ViewsList2 = ViewsList
.Select(x => new LogViews2
{
DateYYMMDD = x.DateYYMMDD,
DBSpeed = x.DBSpeed,
CPUSpeed = x.CPUSpeed
})
.ToList();我不只是使用select,而是按DateYYMMDD进行分组,然后对每个人进行DBSpeed和CPUSpeed的平均排序,并按日期排序。
有人能给我建议吗?我怎么能这么做?
发布于 2020-03-13 11:40:22
这应该是可行的:
var ViewsList2 = ViewsList
.GroupBy(x => x.DateYYMMDD)
.OrderBy(g => g.Key)
.Select(g => new LogViews2
{
DateYYMMDD = g.Key,
DBSpeed = g.Average(gx => gx.DBSpeed),
CPUSpeed = g.Average(gx => gx.CPUSpeed)
})
.ToList();编辑为per @PavelAnik1000 as :简化的Average调用。
并添加OrderBy
发布于 2020-03-13 11:48:21
试试看,从我的头顶上:
ViewsList.GroupBy(logView => logView.DateYYMMDD)
.Select(logView => new {
AverageCPU = logView.Average(log => log.CPUSpeed),
AverageDBSpeed = logView.Average(log => log.DBSpeed)
}
);https://stackoverflow.com/questions/60669763
复制相似问题