【问题标题】:Group list by month按月分组列表
【发布时间】:2015-04-28 19:28:40
【问题描述】:

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

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

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

我试过这样:

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

但我想我需要使用字典。你有什么解决办法吗?

【问题讨论】:

  • 不是答案,但根据您的示例,您还可以根据年份而不是月份进行分组。

标签: c# linq dictionary group-by grouping


【解决方案1】:

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

【讨论】:

  • 这不会合并年份吗?
  • 我怎样才能投票上百万次?
  • 您可以创建一百万个不同的帐户。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多