我使用下面的代码来获取3列的重复行:String,Date,Money。 我不知道是否有任何一般方法可以在此LINQ中输入列名的动态列表以查找重复的行?使用LINQ查找重复的行(带有指定列的列表)
DataTable allDuplicates = dt.AsEnumerable()
.GroupBy(dr => new
{
Field1 = dr.Field<object>("String"),
Field2 = dr.Field<object>("Date"),
Field3 = dr.Field<object>("Money"),
})
.Where(g => g.Count() > 1)
.SelectMany(g => g)
.ToList().CopyToDataTable();
}
令人难以置信!它像一个魅力。你必须是主人。但是,我花了一段时间才意识到ArrayEqualityComparer不是内置的.NET库,它是由您提供的链接自定义创建的。 – 2013-03-01 16:04:46
干杯。我在回答中加入了“自定义”一词,以使其更清晰。 – Ani 2013-03-01 16:09:19
太棒了!正是我所期待的。 – 2017-02-13 05:00:05