Linq分组项目

时间:2012-12-19 08:33:36

标签: c# linq

我有一个myobject列表(让列表名称为Mylist)

每个myobject都有属性

SiteName ,
PersonName ,
numberOfClicks

Mylist 我必须获取 SiteName PersonName ,totalnumberOfClicks的列表 即一个 siteName 一个 PersonName 以及该网站中此perticlaur人的 numberOfClicks 的总和

如何在linq中实现这一目标

1 个答案:

答案 0 :(得分:4)

var query = from x in Mylist
            group x by new { x.SiteName, x.PersonName } into g
            select new { 
               g.Key.SiteName,
               g.Key.PersonName,
               totalnumberOfClicks = g.Sum(i => i.numberOfClicks)
            };

Query将返回IEnumerable的匿名对象,其属性为SiteName,PersonName, totalnumberOfClicks。

C#中的

BTW 我们使用PascalCase进行属性命名,使用camelCase进行变量命名(即TotalNumberOfClicks,NumberOfClicks和myList)。