c#比較兩個數組的差異


將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)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM