Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq分组项_C#_Linq - Fatal编程技术网

C# Linq分组项

C# Linq分组项,c#,linq,C#,Linq,我有一个myobject列表(列表名为Mylist) 每个myobject都有属性 SiteName , PersonName , numberOfClicks 从Mylist中,我必须得到一个SiteName、PersonName、totalnumberOfClicks的列表 Ie一个站点名一个人名和该个人在站点中的点击次数之和 这在linq中是如何实现的 var query = from x in Mylist group x by new { x.SiteName

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

每个
myobject
都有属性

SiteName ,
PersonName ,
numberOfClicks
从Mylist中,我必须得到一个SiteName、PersonName、totalnumberOfClicks的列表 Ie一个站点名一个人名和该个人在站点中的点击次数之和

这在linq中是如何实现的

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)
            };
查询将返回具有SiteName、PersonName、, 点击总数

顺便说一句,在C#中,我们使用PascalCase进行属性命名,使用camelCase进行变量命名(即TotalNumberOfClicks、NumberOfClicks和myList)

查询将返回具有SiteName、PersonName、, 点击总数


顺便说一句,在C#中,我们使用PascalCase进行属性命名,使用camelCase进行变量命名(即TotalNumberOfClicks、NumberOfClicks和myList)。

您的意思是您想要一个带有不同的
PersonName
s的列表?或不同的
站点名+人名对
?或者对每个
PersonName
numberOfClicks
?不同的SiteName+PersonNameOk对,那么您的答案是@lazyberezovsky。您的意思是想要一个带有不同
PersonName
s的列表?或不同的
站点名+人名对
?或者为每个
PersonName
聚合
numberOfClicks
?不同的SiteName+PersonNameOk对,然后您通过@lazyberezovsky获得答案。