高级分组

本文关键字:高级 | 更新日期: 2023-09-27 18:34:55

我有一个具有以下结构的项目列表:

  1. 编号
  2. 日期时间
  3. 重量

如何按IdDate日期字段(即日期时间(对它们进行分组,并具有组的总权重?我想要这样的东西:

  1. 编号
  2. 日期
  3. 总重量

高级分组

如果你想用ID和Date对它们进行分组,你可以这样做:

var grp = from x in items
          group by new {x.Id, x.DateTime.Date};
var result = grp.Select(x=>new {item = x.Key, TotalWeight = x.Sum(y=>y.Weight)});
var result = from x in items
             group x by new { x.Id, x.DateTime.Date } into grouping
             select new 
             { 
                 id = grouping.Key.Id, 
                 Date = grouping.Key.Date, 
                 TotalWeight = grouping.Sum(y=>y.Weight)
             };