永发信息网

求一个高效对比算法,比较两个datatable数据

答案:1  悬赏:50  手机版
解决时间 2021-05-06 04:43
求一个高效对比算法,比较两个datatable数据
最佳答案
用linq来实现,先定义两个dt,这个可以换成你程序中的
DataTable dt1 = new DataTable(); //第一个datatable
DataTable dt2 = new DataTable(); //第二个datatable
思路:
1.根据某个字段,找到dt1和dt2中重复的数据集合(我这里用的是Id,只要id相同我就认为是重复的数据)

2.在dt1中减去上面找到的重复的集合,就是在dt1中取重复数据的补集。

var dt3 = from r in dt1.AsEnumerable() where !(from rr in dt2.AsEnumerable() select rr.Field("Id")).Contains(r.Field("Id")) select r;追问两表列数可能会有不同,linq不是只有在相同表结构的情况下才可以吗
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求匡威2010新款黑色高帮,上面有个玫红色女孩
乐山有没有顺丰快递
苏州飞莱克斯电路电子怎么样?
你是不是要佐为消失时候的钢琴曲呢?
液晶显示器上下滚动该怎么解决?
爱国思乡的名言警句,出塞爱国思乡的诗句
QQ拼音输入法在CF里怎么刷红字 我是CF会员 但
一般来说几天打一次飞机?
DNF40级带什么装备好呢
开了个外汇账户,要把钱汇到英国去,安全吗?
快餐店每月开员工大会的草稿。急。。。
袁梦飞,为啥给这上面管搜着你类名哎?????
初二上学期《地理》问题,读下图,回答问题,
输入法的状态栏怎么一打字就隐下去
马明仁膏药铺(分宜店)地址在什么地方,想过去
推荐资讯
青云蔬果超市我想知道这个在什么地方
找些玩传奇英雄连击的高级群有吗?
什么是部首什么是偏旁,且的部首是什么
头发被烫死了,是不是头发长得慢一点?
诛仙2电信一区凯旋120九黎+8+9装备大概多少一
灰灶地址有知道的么?有点事想过去
花楹和勇气是什么关系?蜀山和琼华又是什么关
QQ家园中的纵横四海能在电脑上玩吗
处对象家里人不同意
WLK现在用什么插件
鬼泣用太刀好还是知剑好?
智通通讯地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?