c#比較兩個數組的差異


將DataTable中某一列數據直接轉換成數組進行比較,使用的Linq,要引用命名空間using System.Linq;

1
2
3
4
5
6
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中沒有的  (刪除)

例子:

1
2
3
4
5
6
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