代码之家  ›  专栏  ›  技术社区  ›  Matt Mitchell

按不同日期拆分列表

  •  8
  • Matt Mitchell  · 技术社区  · 16 年前

    希望能再简单一点。

    假设我有一个这样的收藏:

    List<DateTime> allDates;
    

    我想把它变成

    List<List<DateTime>> dividedDates;
    

    其中“divideddates”中的每个列表包含“all dates”中属于不同年份的所有日期。

    是不是有一些我疲惫的大脑现在无法察觉的LINQ诡计?

    解决方案

    接受的答案是正确的。

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

    2 回复  |  直到 10 年前
        1
  •  8
  •   Mark Cidade    16 年前
    var q  = from date in allDates 
             group date by date.Year into datesByYear
             select datesByYear.ToList();
    q.ToList(); //returns List<List<DateTime>>
    
        2
  •  7
  •   Amy B    16 年前

    这是方法表。

    allDates
      .GroupBy(d => d.Year)
      .Select(g => g.ToList())
      .ToList();