我正在尝试在我的应用中使用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()方法。但它只是弄乱了我的项目。我真的不知道它有什么问题。我只需要删除具有相同列值的行。
有什么问题?我该如何解决这个问题?
答案 0 :(得分:3)
您的Skip
正在跳过第一组,而不是每组中的第一项。
而不是
.Skip(1).SelectMany(g => g)
试
.SelectMany(g => g.Skip(1))