【发布时间】:2015-05-15 13:37:58
【问题描述】:
我已经玩了一段时间了,但不能完全得到我想要的结果。
我有一个这样的对象:
public class Point
{
public string Tag {get;set;}
public DateTime Time {get;set;}
public int Value {get;set;}
}
每个标签每天将有 24 个值(每小时一个)。数据将如下所示(标签/时间/值):
x / 5-15-2015 - 0100 / 10
x / 5-15-2015 - 0200 / 20
x / 5-15-2015 - 0300 / 30
y / 5-15-2015 - 0100 / 20
y / 5-15-2015 - 0200 / 30
x / 5-16-2015 - 0100 / 10
例如...
我想按标签和日期排序,然后获取每天 24 小时的最小/最大/平均值。目标是创建以下对象。
Public class NewPoint
{
public string Tag {get;set;}
public DateTime Date {get;set;}
public int LowValue {get;set;}
public int HighValue {get;set;}
public int AvgValue {get;set;}
}
结果对象的位置(标签/日期/LowValue/HighValue/AvgValue):
x / 5-15-2015 / 10 / 30 / 20
y / 5-15-2015 / 20 / 30 / 25
x / 5-16-2015 / 10 / 10 / 10
我遇到了以下问题:
group list by new {list.Tag, list.Time.ToString("d") } into dateGroup
我还认为我需要两个 linq 语句。一个按标签和日期分组以查找每个标签/日期的最小/最大/平均值,另一个用于获取日期 [0](或每个标签的不同日期)以及最小/最大/平均传递给新点对象。
欢迎提出建议,谢谢!
【问题讨论】: