按不同的日期拆分列表

Mat*_*ell 8 c# linq

另一个容易的希望.

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

List<DateTime> allDates;
Run Code Online (Sandbox Code Playgroud)

我想把它变成

List<List<DateTime>> dividedDates;
Run Code Online (Sandbox Code Playgroud)

其中'divideDates'中的每个List包含'allDates'中属于不同年份的所有日期.

是不是有一点LINQ诡计让我疲惫的头脑现在无法挑选出来?

接受的答案是正确的.

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

Mar*_*ade 8

var q  = from date in allDates 
         group date by date.Year into datesByYear
         select datesByYear.ToList();
q.ToList(); //returns List<List<DateTime>>
Run Code Online (Sandbox Code Playgroud)


Amy*_*y B 7

这是方法表单.

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