c#比较两个数组的差异
将DataTable中某一列数据直接转换成数组进行比较,使用的Linq,要引用命名空间using System.Linq;
|
1
2
3
4
5
6
|
string[] arrRate = dtRate.AsEnumerable().Select(d => d.Field<string>("arry")).ToArray();//Astring[] arrTemp = dtTemp.AsEnumerable().Select(d => d.Field<string>("arry")).ToArray();//Bstring[] arrUpd = arrRate.Intersect(arrTemp).ToArray();//相同的数据 (修改)string[] arrAdd = arrRate.Except(arrTemp).ToArray();//A中有B中没有的 (新增)string[] arrNew = arrTemp.Except(arrRate).ToArray();//B中有A中没有的 (删除) |
例子:
|
1
2
3
4
5
6
|
string[] arrRate = new string[] { "a", "b", "c", "d" };//Astring[] arrTemp = new string[] { "c", "d", "e" };//Bstring[] 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) |

浙公网安备 33010602011771号