使用LINQ从dataTable返回具有唯一值和重复值的行

时间:2018-12-06 13:48:15

标签: c# asp.net linq

我在Datatable中有5行。有一列名为“ duplicate”。基于该列,我希望所有那些要在“重复”列中使用不同值的行。 而且我还希望被拒绝的行。

var duplicateRecords = (from rows in outputTable.AsEnumerable()  select rows.Field<string>("duplicate") into grp
where grp.Count() > 1
select grp).Distinct();

以上编写的代码返回“重复”列中的值。但是我想要整行。 请帮助我。

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

var duplicateRecords = outputTable.AsEnumerable()
    .GroupBy(row => row.Field<string>("duplicate"))
    .Where(grp => grp.Count() == 1)
    .SelectMany(grp => grp)
    .Distinct();

这应该只返回重复的行(不在VS前面,因此可能会有一些错别字)。

希望有帮助!