C# 关于datatable的问题
有两个datatable:dt1,dt2.dt1和dt2里面的字段都是相同的,且里面都有pctime这一字段,但是dt1里面的数据条数少于dt2里面的数据条数现在我需要根...
有两个datatable:dt1,dt2 . dt1和dt2里面的字段都是相同的,且里面都有pctime这一字段,但是dt1 里面的数据条数少于dt2里面的数据条数
现在我需要根据dt2里面pctime这一字段,跟dt1的pctime进行比较,看dt2里面哪一条数据的pctime与dt1最接近,然后将整条数据都替换掉。
这个应该怎么做? 展开
现在我需要根据dt2里面pctime这一字段,跟dt1的pctime进行比较,看dt2里面哪一条数据的pctime与dt1最接近,然后将整条数据都替换掉。
这个应该怎么做? 展开
1个回答
展开全部
看dt2里面哪一条数据的pctime与dt1最接近 这个概念比较模糊
就是把dt2 里的最接近的一条数据 删掉 然后 add dt1里的那条数据岛 dt2 里面
就是把dt2 里的最接近的一条数据 删掉 然后 add dt1里的那条数据岛 dt2 里面
追问
我的意思是时间差最小。
可是我自己也不知道哪一条数据时最接近的阿,要作判断的,这边我不会。。。
追答
那你只能拿着 dt2 里的一行行数据去和 dt1 对比
int sub1 = 0,sub2 =0,diff=0,min=0;
for(int i = 0;i<dt2.Rows.Count;i++)
{
Datatime _I = dt2.Rows[i]["pctime"];
for(int j= 0;j<dt2.Rows.Count;j++)
{
Datatime _J =dt1.Rows[i]["pctime"];
}
TimeSpan ts =_I .Subtract(_j);
diff= ts.TotalSeconds;
if(diff<min)
{
min = diff;
sub1 = i; sub2 =j;
}
}
这样虚幻完成后 i j 就表示差距最小的 dt2 里面的第 i 行
dt1 里面的 第 j 行!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询