public struct WSpeedOut { public DateTime time; public int Id; public float Speed;
}
public struct FGradeOut { public DateTime time; public float grade;
}
WSpeedOut Time Id Speed 2013-08-04 09:01:23 1 123.01
FGradeOut Time grade 2013-08-04 09:01:23 95.5
需要根据时间将相同时间两个数据合并起来 变成像下面这样结构的数据 放到datatable里面
Time Id Speed grade 2013-08-04 09:01:23 1 123.01 95.5
最好不用LinQ的方法
[解决办法]
class ResultClass { public DateTime Time { get; set; } public int id { get; set; } public float speed { get; set; } public float grade { get; set; } }
Main(): Dictionary<DateTime, ResultClass> result = new Dictionary<DateTime, ResultClass>(); foreach (var w in WSpeedOutList) { result.Add(w.Time, new ResultClass() { Time = w.Time, id = w.id, speed = w.speed }); } foreach (var f in FGradeOut)
{ if result.HasKey(f.Time) result[f.Time].grade = f.grade; }
[解决办法]
DateTable dt = new DateTable(); dt.Columns.Add(...) dt.Columns.Add(...) dt.Columns.Add(...) ... foreach (var item in result) dt.Rows.Add(...)