如何区分数据表行?

时间:2016-09-02 11:29:59

标签: c# linq

我正在尝试在我的应用中使用LINQ。这是我使用的代码:

dataTable1.Rows.Cast<DataRow>().GroupBy(
                   x => x.Field<string>("item")).Where(
                g => g.Count() > 1).Skip(1).SelectMany(g => g).ToList<DataRow>().ForEach(r => r.Delete());

此代码应该区分数据表行,例如更多LINQ库中的distinctBy()方法。但它只是弄乱了我的项目。我真的不知道它有什么问题。我只需要删除具有相同列值的行。

有什么问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您的Skip正在跳过第一组,而不是每组中的第一项。

而不是

.Skip(1).SelectMany(g => g)

.SelectMany(g => g.Skip(1))