我正在使用Dictionary<long, MyClass>
作为比较值在MyClass.some_property
类型的字典中查找重复项:
var dict = new Dictionary<long, MyClass>(...);
var duplicates = from d in dict
group d by d.Value.some_property into g
where g.Count() > 1
select g;
现在我需要排除duplicates
枚举中每个分组中的第一个元素。如果不将所有内容转换为其他数据结构,如何完成?我想避免使用任何额外的内存。
答案 0 :(得分:1)
您可以使用skip
var dict = new Dictionary<long, MyClass>(...);
var duplicates = from d in dict
group d by d.Value.some_property into g
where g.Count() > 1
select new {Key= g.Key, Values = g.Skip(1)};