到目前为止我有这个
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?
使用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();
var GetSetRows = MyTable.AsEnumerable()
.GroupBy(r => r.Field<string>("SetNumber"))
.Where(g => g.Count() > 1)
.Select(g => g.First());
var GetSetRows = MyTable.Rows.GroupBy(x => x.Field<string>("SetNumber"))
.Where(g => g.Count() > 1)
.Select(g => g.First());