依据时间将两个不同结构数组合并成一个数组

根据时间将两个不同结构数组合并成一个数组如题,有以下两个数据结构public struct WSpeedOut{public DateT

根据时间将两个不同结构数组合并成一个数组
如题,有以下两个数据结构



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;
}


[解决办法]
引用:
Quote: 引用:

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;
}

Dictionary  result 怎么转化成Datatable

DateTable dt = new DateTable();
dt.Columns.Add(...)
dt.Columns.Add(...)
dt.Columns.Add(...)
...
foreach (var item in result)
    dt.Rows.Add(...)