C# 2個DataTable做比較,找出差集
寫法很簡單
如果DataTable的欄位名稱相同
直接用Except
//要有相同的欄位名稱
IEnumerable<DataRow> query2 = DT1.AsEnumerable().Except(DT2.AsEnumerable(), DataRowComparer.Default);
DataTable dt3 = query2.CopyToDataTable();
如果DataTable的欄位名稱不相同
要用Contains
//沒有相同的欄位名稱
var tempExcept = from n in DT1.AsEnumerable()
where
!(from nn in DT2.AsEnumerable() select nn.Field<string>("NAME")).Contains(
n.Field<string>("NAME"))
select n;
自我LV~