我有日期时间对象列表。我想按月分组并将其添加到字典中。
因此,在分组过程之后,我希望每月和每年都有列表。 例如: 分组前 [混合下面的元素]
分组后: 1)2015年1月 - 5个要素 2)2015年2月 - 2个要素 2)2014年1月 - 2个元素
我试过这样的话:
var test = this.myList.GroupBy(x => x.myDate.Month).ToList();
但我知道我需要使用字典。你有任何想法如何解决它?
答案 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
,你可以使用格式化的日期字符串作为键。