1

到目前为止我有这个

var GetSetRows = from DataRow dr in MyTable.Rows
    group dr by dr.Field<string>("SetNumber") into grp
    from rows in grp
    where grp.Count() > 1
    select rows;

这可以返回 SetNumber 在另一行中的每一行。

如何修改它以仅为每个 SetNumber 返回 1 行且 Count > 1?

4

3 回答 3

4

使用Enumerable.First

var GetSetRows = from DataRow dr in MyTable.Rows
                 group dr by dr.Field<string>("SetNumber") into grp
                 where grp.Count() > 1
                 select grp.First();
于 2013-07-26T15:03:05.797 回答
1
var GetSetRows = MyTable.AsEnumerable()
                        .GroupBy(r => r.Field<string>("SetNumber"))
                        .Where(g => g.Count() > 1)
                        .Select(g => g.First());
于 2013-07-26T15:07:04.500 回答
1
var GetSetRows = MyTable.Rows.GroupBy(x => x.Field<string>("SetNumber"))
                    .Where(g => g.Count() > 1)
                    .Select(g => g.First());
于 2013-07-26T15:03:16.953 回答