按月分组

Cie*_*eja 8 c# linq grouping dictionary group-by

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

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

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

我试过这样的:

var test = this.myList.GroupBy(x => x.myDate.Month).ToList();
Run Code Online (Sandbox Code Playgroud)

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

And*_*rei 16

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

myList.GroupBy(x => new {Month = x.myDate.Month, Year = x.myDate.Year})
      .ToDictionary(g => g.Key, g => g.Count())
Run Code Online (Sandbox Code Playgroud)

请注意,这将为您提供表格中的键{Month=1,Year=2015}.如果你想要一个字符串,比如January 2015,你可以使用格式化的日期字符串作为键.

  • 这不会把岁月结合起来吗? (2认同)