我有以下数据结构(简化):类TestClass的巨大列表
public class TestClass
{
public string Name { get; set; }
public int Value { get; set; }
public DateTime Date { get; set; }
}
我正在尝试查找LINQ-Query以获取一天具有相同名称和值的项目数。我尝试了多个groupby-Statement,但我没有得到它... 例如:
Name | Value | Date
Alice | 42 | 11.02.1900
Bob | 4211 | 22.03.2030
Bob | 4211 | 22.03.2030
Bob | 42 | 22.03.2030
Bob | 42 | 22.03.2030
Alice | 4711 | 30.01.2045
我想得到的这些数据(最后一个数字是重要数据)
Alice,42,11.02.1900,1 Bob,4211,22.03.2030,3 Bob,42,22.03.2030,2 Alice,4711,30.01.2045,1
感谢您的帮助!
此致
答案 0 :(得分:2)
您正在寻找
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() })
答案 1 :(得分:0)
from i in coll
group i by new { i.Name, i.Value, i.Date } into g
select new { key = g.Key, count = g.Count() }