0

私は2つのデータテーブルを持っています

DataTable1
SNo
1
2
3
4

DataTable2

SNo
1
4
3

I want the result

DataTableResult

SNo
2

forループを使ってできます。

しかし、私はlinqを使用してそれを実行しようとしています。

var intersection = DataTable1.AsEnumerable().Intersect(DataTable2.AsEnumerable(), DataRowComparer.Default);    

次に、Intersectが両方のテーブルにある行をuに与えることを知りました。

使用する関数が正確にわかりません。

何か案は?

答えがあります。

回答を削除してくださった方、ありがとうございました。

しかし、それは私にスタートを与えます。

答えは

var intersection = DataTable1.AsEnumerable().Except(DataTable2.AsEnumerable(), DataRowComparer.Default);
4

2 に答える 2

2

テーブルを構造としてのみ表示するため、正確にするのは難しいですが、 exept ステートメントを使用して試すことができますが、次のように考えることができます

 var qry1 = datatable1.AsEnumerable().Select(a => new { SNo.ToString() });
 var qry2 = datatable2.AsEnumerable().Select(b => new { SNo.ToString() });
 var exceptAB = qry1.Except(qry2);
于 2012-07-25T02:51:16.343 に答える
0

このようなクエリを使用できます

select SNo from DataTable1 where SNo not in (select SNo from DataTable2);
于 2012-07-25T02:47:34.180 に答える