2012-12-19 28 views
0

我的MyObject的列表(让列表名称是MYLIST)Linq的分组项

每个myobject具有性能

SiteName , 
PersonName , 
numberOfClicks 

MYLIST我得的列表网站名称PersonName,totalnumberOfClicks 即一个siteName one PersonName and sum在现场

这怎么是可能的LINQ

+1

你的意思是你想要一个不同的'PersonName'的列表?或者不同的'SiteName + PersonName'对?或者每个'PersonName'的'numberOfClicks'总和? – Groo

+0

不同的SiteName + PersonName对 –

+0

好吧,那么你通过@lazyberezovsky [below](http://stackoverflow.com/a/13948342/69809)得到了答案。 – Groo

回答

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

查询将与性质网站名称,PERSONNAME, totalnumberOfClicks返回匿名对象的IEnumerable的numberOfClicks这个perticlaur人。我们使用PascalCase作为属性命名,而camelCase使用变量命名(即TotalNumberOfClicks,NumberOfClicks和myList)。