首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-08-14 
根据时间将两个不同结构数组合并成一个数组如题,有以下两个数据结构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(...)

热点排行