您的位置:首页 > 编程语言 > C#

c#比较两个数组的差异

2016-12-27 13:44 281 查看
将DataTable中某一列数据直接转换成数组进行比较,使用的Linq,要引用命名空间using System.Linq;

string[] arrRate = dtRate.AsEnumerable().Select(d => d.Field<string>("arry")).ToArray();//A
string[] arrTemp = dtTemp.AsEnumerable().Select(d => d.Field<string>("arry")).ToArray();//B

string[] arrUpd = arrRate.Intersect(arrTemp).ToArray();//相同的数据  (修改)
string[] arrAdd = arrRate.Except(arrTemp).ToArray();//A中有B中没有的  (新增)
string[] arrNew = arrTemp.Except(arrRate).ToArray();//B中有A中没有的  (删除)


例子:

string[] arrRate = new string[] { "a", "b", "c", "d" };//A
string[] arrTemp = new string[] { "c", "d", "e" };//B

string[] arrUpd = arrRate.Intersect(arrTemp).ToArray();//相同的数据 (结果:c,d)
string[] arrAdd = arrRate.Except(arrTemp).ToArray();//A中有B中没有的 (结果:a,b)
string[] arrNew = arrTemp.Except(arrRate).ToArray();//B中有A中没有的 (结果:e)


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: