C# 具有多个groupby的LINQ查询
我有以下数据结构(简化):TestClass类的巨大列表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语句尝试了它,但我没有得到它。。。 例如: 我想要得到的数据(最后一个数字是最重要
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() }