-1

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

public class TestClass
{
   public string Name { get; set; }
   public int Value { get; set; }
   public DateTime Date { get; set; }
}

我试图找到一个 LINQ 查询来获取一天内具有相同名称和值的项目的数量。我用多个 groupby-Statements 尝试了它,但我没有得到它......示例:

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

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

爱丽丝, 42, 11.02.1900, 1
鲍勃, 4211, 22.03.2030, 3
鲍勃, 42, 22.03.2030, 2
爱丽丝, 4711, 30.01.2045, 1

谢谢你的帮助!

问候

4

2 回答 2

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() })
于 2012-07-03T15:00:42.073 回答
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() }
于 2012-07-03T15:00:58.880 回答