DataTableの重複する行を取得する

DataTableに属するDataRowの任意の列から、重複する行を除去する方法はあるのですが、

削除ではなく、同じ値のものを取得いたくて、その方法を調べたのですが、

たとえば、DataTable.Margeを使ってRowStatusで取得する方法
https://social.msdn.microsoft.com/Forums/ja-JP/3e46f64d-fed3-4370-a16a-0987c8710050/datatable-linq?forum=vbgeneralja

とか、なるほど!というのもあったのですが、これはprimary keyが設定してあるDataTable同志でなければいけないので、そうでない場合はどうすればいいか。というわけですが、DataTable.Selectで取り出してチェックするしかなさそう。

たとえば、こんな感じで。

なんか、気持ち悪いですが、Selectで重複しているIDだけを取り出すという、ベタなやり方。

こんなときは、LINQでいきます。

もっと、すっきりできそうだけど、こんな感じで。

タイトルとURLをコピーしました