8

うまくいけば別の簡単なもの。

私がこのようなコレクションを持っているとしましょう:

List<DateTime> allDates;

それを変えたい

List<List<DateTime>> dividedDates;

ここで、「dividedDates」の各リストには、異なる年に属する「allDates」のすべての日付が含まれています。

私の疲れた心が今すぐに見つけられないLINQのトリックが少しありますか?

解決

受け入れられた答えは正しいです。

おかげで、GroupByの「into」ビットを認識していなかったと思います。SQLのような構文ではなく、.GroupBy()のようなメソッドを使用しようとしていました。そして、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 に答える