c#比较两个数组的差异

#**c#比较两个数组的差异**

---
将DataTable中某一列数据直接转换成数组进行比较,使用的Linq,要引用命名空间using System.Linq;
```C#
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中没有的  (删除)
```
例子:
```C#
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)
```
---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值