从分组中排除元素

时间:2013-10-26 02:20:19

标签: c# .net

我正在使用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枚举中每个分组中的第一个元素。如果不将所有内容转换为其他数据结构,如何完成?我想避免使用任何额外的内存。

1 个答案:

答案 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)};