2008-09-16 9 views
8

うまくいけばもうひとつ簡単です。別々の日付でリストを分割する

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

List<DateTime> allDates; 

私は

「dividedDates」内の各リストは、その「allDates」で日付のすべてが含まれてい
List<List<DateTime>> dividedDates; 

にこれを有効にします明確な年に属しています。

私の疲れた心が今選ぶことができないLINQトリッキーが少しありますか?

ソリューション

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

ありがとう、私はGroupByの 'into'ビットを認識していないと思うし、SQLのような構文ではなく.GroupBy()ソートのメソッドを使用しようとしていました。 ToList()の改訂を確認し、それを受け入れられた回答に含めることに感謝します:-)

答えて

8
var q = from date in allDates 
     group date by date.Year into datesByYear 
     select datesByYear.ToList(); 
q.ToList(); //returns List<List<DateTime>> 
+0

ありがとうございました!私が間違っている場合のために、ToList()要件に関する質問の私の小さなコメントを参照してください。 –

+0

固定とテスト –

7

ここにメソッドフォームがあります。

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

私はそれを試して誓います:-)ありがとう! –

+0

ありがとう!私はこれを使用し、それはうまく動作します。 – VoodooChild

関連する問題