1

我有 2 个数据表,Tab1 和 Tab2。Tab1 是满的数据,Tab2 是空的。

Tab1 看起来像这样:
Col1 | Col2 | Col3 | 钥匙 | 国家 | 上校....
abc | xyz | 103 | AK1 | 波兰| .....
波尔 | 男人 | 1212 | AK2 | 波兰| ....
摩洛 | 康姆| 11 | AK1 | 波兰 | ....
bca | 鬼 | 10a| AK1 | 德国| ....
bca | 鬼 | 10a| AK3 | 德国| ....
人 | 1n | zxc | AK2 | 波兰| ……

我需要通过 Key 和 Country 选择不同的数据(Key+Country 组合必须是唯一的)并将其放入 Tab2。

如何在c#中做到这一点?我有很多行,所以我需要安静快速的方法来做到这一点。

对于此示例,结果应为:
Col1 | Col2 | Col3 | 钥匙 | 国家 | 上校....
abc | xyz | 103 | AK1 | 波兰| .....
波尔 | 男人 | 1212 | AK2 | 波兰| ....
bca | 鬼 | 10a| AK1 | 德国| ....
bca | 鬼 | 10a| AK3 | 德国| ……

4

1 回答 1

2

您可以对给定列上的项目进行分组,然后从每个组中获取第一行(或最后一行或任何一行)。

secondTable = firstTable.AsEnumerable()
    .GroupBy(row => new
    {
        Key = row.Field<string>("Key"),
        Country = row.Field<string>("Country"),
    })
    .Select(group => group.First())
    .CopyToDataTable();
于 2013-07-08T17:12:15.643 回答