C# 按月份分组列表
我有一个带有日期时间对象的列表。我想按月分组并将其添加到字典中 所以在分组过程之后,我希望每月和每年都有一个列表。 例如: 分组前 [混合以下元素] 分组后: 1) 2015年1月-5个要素 2) 2015年2月-2个要素 2) 2014年1月-2个要素 我试过这样做:C# 按月份分组列表,c#,linq,dictionary,group-by,grouping,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(); 但是我需要用字典。您对如何解决这个问题有什么想法吗?Linq提供了一个选项,可以将结果转换为字典
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}
的形式为您提供密钥。如果您想要一个字符串,例如2015年1月
,您可以使用格式化的日期字符串作为键。不是答案,但根据您的示例,您也将根据年份而不仅仅是月份进行分组。这不会合并年份吗?