Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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

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# 具有多个groupby的LINQ查询_C#_Linq - Fatal编程技术网

C# 具有多个groupby的LINQ查询

C# 具有多个groupby的LINQ查询,c#,linq,C#,Linq,我有以下数据结构(简化):TestClass类的巨大列表 public class TestClass { public string Name { get; set; } public int Value { get; set; } public DateTime Date { get; set; } } 我试图找到一个LINQ查询,以获取一天中具有相同名称和值的项目数。我用多个groupby语句尝试了它,但我没有得到它。。。 例如: 我想要得到的数据(最后一个数字是最重要

我有以下数据结构(简化):TestClass类的巨大列表

public class TestClass
{
   public string Name { get; set; }
   public int Value { get; set; }
   public DateTime Date { get; set; }
}
我试图找到一个LINQ查询,以获取一天中具有相同名称和值的项目数。我用多个groupby语句尝试了它,但我没有得到它。。。 例如:

我想要得到的数据(最后一个数字是最重要的)

爱丽丝,42岁,1900年2月11日,1
鲍勃,4211,22.03.2030,3
鲍勃,42,22.03.2030,2
爱丽丝,4711,30.01.2045,1

谢谢你的帮助

问候你要找的人

list.GroupBy(o => new { o.Name, o.Value, o.Date })
    .Select(g => new { g.Key.Name, g.Key.Value, g.Key.Date, Count = g.Count() })

你尝试了什么linq查询?谢谢!它起作用了!我用多个groupby语句把它搞砸了。我用新的{o.Name,o.Value}尝试了一下,但我认为这是错误的方法。
list.GroupBy(o => new { o.Name, o.Value, o.Date })
    .Select(g => new { g.Key.Name, g.Key.Value, g.Key.Date, Count = g.Count() })
from i in coll
group i by new { i.Name, i.Value, i.Date } into g
select new { key = g.Key, count = g.Count() }