我使用下面的代碼來獲取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