Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按月份分组列表_C#_Linq_Dictionary_Group By_Grouping - Fatal编程技术网

C# 按月份分组列表

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提供了一个选项,可以将结果转换为字典

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

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

分组后: 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}
的形式为您提供密钥。如果您想要一个字符串,例如
2015年1月
,您可以使用格式化的日期字符串作为键。

不是答案,但根据您的示例,您也将根据年份而不仅仅是月份进行分组。这不会合并年份吗?