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最接近,然后将整条数据都替换掉。
这个应该怎么做?
展开
 我来答
Cz丶168
2014-05-08 · TA获得超过994个赞
知道小有建树答主
回答量:1252
采纳率:75%
帮助的人:439万
展开全部
看dt2里面哪一条数据的pctime与dt1最接近 这个概念比较模糊

就是把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 行!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式