按月分组列表

时间:2015-04-28 19:28:41

标签: c# linq dictionary group-by grouping

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

因此,在分组过程之后,我希望每月和每年都有列表。 例如: 分组前 [混合下面的元素]

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

我试过这样的话:

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

但我知道我需要使用字典。你有任何想法如何解决它?

1 个答案:

答案 0 :(得分:14)

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,你可以使用格式化的日期字符串作为键。

相关问题