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,您好,下面有一个列表,需要使用Linq方法语法进行分组和聚合 | id |Code|Descr | Number | Expiry | |---------|----|------|--------|-----------| | guidId1 | A | Desc1| Number1| 2017-03-18| | guidId2 | A | Desc1| Number1| 2017-03-18| | guidId3 | B | Desc2| Number1| 2017-0

您好,下面有一个列表,需要使用Linq方法语法进行分组和聚合

| id      |Code|Descr | Number | Expiry    |
|---------|----|------|--------|-----------|
| guidId1 | A  | Desc1| Number1| 2017-03-18|
| guidId2 | A  | Desc1| Number1| 2017-03-18|
| guidId3 | B  | Desc2| Number1| 2017-03-18|
| guidId4 | B  | Desc2| Number1| 2017-03-18|
| guidId5 | C  | Desc3| Number1| 2017-03-18|
| guidId6 | A  | Desc1| Number2| 2020-05-20|
| guidId7 | A  | Desc1| Number2| 2020-05-20|
| guidId8 | A  | Desc1| Number2| 2020-05-20|
| guidId9 | B  | Desc2| Number2| 2020-05-20|
| guidId10| C  | Desc3| Number2| 2020-05-20|
| guidId11| C  | Desc3| Number2| 2020-05-20|
我尝试过这一点,但不确定如何包括计数:

myList.GroupBy(s => new { s.Number, s.Code, s.Expiry});
我希望从列表中获得的输出:

{Code = "A",Descr = "Desc1",Number = "Number1",Expiry = "2017-03-18", Count = 2}
{Code = "B",Descr = "Desc2",Number = "Number1",Expiry = "2017-03-18", Count = 2}
{Code = "C",Descr = "Desc3",Number = "Number1",Expiry = "2017-03-18", Count = 1}
{Code = "A",Descr = "Desc1",Number = "Number2",Expiry = "2020-05-20", Count = 3}
{Code = "B",Descr = "Desc2",Number = "Number2",Expiry = "2020-05-20", Count = 1}
{Code = "C",Descr = "Desc3",Number = "Number2",Expiry = "2020-05-20", Count = 2}

提前感谢

您已将
编号
代码
到期
进行分组,但您的结果也需要
说明
。您需要将其包括在您的组中,然后获取组数

var query =
    from s in myList
    group 1 by new { s.Code, s.Descr, s.Number, s.Expiry } into g
    select new { g.Key.Code, g.Key.Descr, g.Key.Number, g.Key.Expiry, Count = g.Count() };

你能在上分享你的代码片段吗?谢谢你,先生!这真的很有帮助。