【问题标题】:Split a list by distinct date按不同日期拆分列表
【发布时间】:2010-09-09 08:15:23
【问题描述】:

希望是另一个简单的。

假设我有一个这样的集合:

List<DateTime> allDates;

我想把它变成

List<List<DateTime>> dividedDates;

“dividedDates”中的每个列表都包含“allDates”中属于不同年份的所有日期。

是否有一点我疲惫的大脑现在无法辨认的 LINQ 诡计?

解决方案

接受的答案是正确的。

谢谢,我认为我不知道 GroupBy 的“进入”位,我试图使用 .GroupBy() 之类的方法,而不是类似 SQL 的语法。并感谢您确认 ToList() 修正案并将其包含在已接受的答案中:-)

【问题讨论】:

    标签: c# linq


    【解决方案1】:
    var q  = from date in allDates 
             group date by date.Year into datesByYear
             select datesByYear.ToList();
    q.ToList(); //returns List<List<DateTime>>
    

    【讨论】:

    • 谢谢!如果我错了,请在关于 ToList() 要求的问题中查看我的小评论:-)
    【解决方案2】:

    这是方法表单。

    所有日期 .GroupBy(d => d.Year) .Select(g => g.ToList()) .ToList();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2020-07-13
      • 1970-01-01
      相关资源
      最近更新 更多