8

希望是另一个容易的。

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

List<DateTime> allDates;

我想把它变成

List<List<DateTime>> dividedDates;

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

是不是有一些 LINQ 诡计让我疲惫的头脑现在无法辨认?

解决方案

接受的答案是正确的。

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

4

2 回答 2

8
var q  = from date in allDates 
         group date by date.Year into datesByYear
         select datesByYear.ToList();
q.ToList(); //returns List<List<DateTime>>
于 2008-09-16T06:19:46.817 回答
7

这是方法表。

所有日期
  .GroupBy(d => d.Year)
  .Select(g => g.ToList())
  .ToList();
于 2008-09-16T13:30:02.057 回答