我有2个数据表,Tab1和Tab2。 Tab1是数据,Tab2是空的。
Tab1看起来像这样:
Col1 | Col2 | Col3 |钥匙|国家| Col ....
abc | xyz | 103 | AK1 | POL | .....
pol |男人| 1212 | AK2 | POL | ....
莫罗| kom | 11 | AK1 | POL | ....
bca | oni | 10A | AK1 | GER | ....
bca | oni | 10A | AK3 | GER | ....
al | 1n | zxc | AK2 | POL | ....
我需要按键和国家/地区选择不同的数据(键+国家/地区组合必须是唯一的)并将其放到Tab2。
如何在c#中完成? 我有很多行,所以我需要安静快速的方法来做它。
对于这个例子,结果应该是:
Col1 | Col2 | Col3 |钥匙|国家| Col ....
abc | xyz | 103 | AK1 | POL | .....
pol |男人| 1212 | AK2 | POL | ....
bca | oni | 10A | AK1 | GER | ....
bca | oni | 10A | AK3 | GER | ....
答案 0 :(得分:2)
您可以对给定列上的项目进行分组,然后抓取每个组中的第一行(或最后一行或哪一行)。
secondTable = firstTable.AsEnumerable()
.GroupBy(row => new
{
Key = row.Field<string>("Key"),
Country = row.Field<string>("Country"),
})
.Select(group => group.First())
.CopyToDataTable();