按月分组列表

Group list by month

我有日期时间对象列表。我想按月分组并将其添加到字典中。

所以在分组过程之后,我想要每个月和每年的列表。 例如: 分组前 [混合以下元素]

分组后: 1) 2015 年 1 月 - 5 个元素 2) 2015 年 2 月 - 2 个元素 2) 2014 年 1 月 - 2 个元素

我试过这样:

var test = this.myList.GroupBy(x => x.myDate.Month).ToList();

但是我想我需要使用字典。你有什么解决办法吗?

Linq 提供了将结果转换为字典的选项:

myList.GroupBy(x => new {Month = x.myDate.Month, Year = x.myDate.Year})
      .ToDictionary(g => g.Key, g => g.Count())

请注意,这将为您提供 {Month=1,Year=2015} 形式的密钥。如果您想要一个字符串,例如 January 2015,您可以使用格式化的日期字符串作为键。