将linq查询与“group by”结合使用

时间:2010-04-21 12:44:46

标签: c# linq

我写了两个查询来查找数组中的重复项

var groups = from item in array                 
             group item by item;
var q1 = from grp in groups
         where grp.Count() > 1
         select grp.Key;

有没有办法在一个LINQ查询中写这个?我知道我可以使用方法调用

array.GroupBy(i => i).Where(g => g.Count() > 0).Select(g => g.Key)

,但我很好奇是否可以使用LINQ语法

1 个答案:

答案 0 :(得分:2)

当然,它看起来像这样:

var duplicateItems = from item in array
                     group item by item into grp
                     where grp.Count() > 1
                     select grp.Key;

组合查询的关键是into关键字。