2

その質問はおそらく非常に紛らわしいように聞こえましたが、私が何をしたいのかを説明するのは難しいです。基本的に、オブジェクトのリストDateTimeがあり、リストに表示されている各日付の最新時刻を表すリストのオブジェクトを含む新しいリストを作成したいと思います。たとえば、次DateTimeのリストを含むリストがあるとします。

  • 2012年12月13日2:00:00AM
  • 2012年12月13日4:00:00AM
  • 2012/12/13 8:00:00 PM
  • 2012/12/14 5:00:00 PM
  • 2012年12月14日3:00:00AM
  • 2012年12月15日10:00:00AM

結果リストに次のものを含める必要があります。

  • 2012/12/13 8:00:00 PM
  • 2012/12/14 5:00:00 PM
  • 2012年12月15日10:00:00AM

LINQを使用してこれを実行できることはわかっています。何が起こっているのか心を包み込むのに苦労しているだけです。IEnumerable<IEnumerable<DateTime>>内側IEnumerableが同じ日付のsのリストであるところから選択する必要があると思います。DateTime次に、それらを降順で並べ替えて、最初のものを選択します。

私はかなり迷っています...

4

2 に答える 2

9

これを試して:

var dates = list.GroupBy(dt => dt.Date).Select(g => g.Max());
于 2012-12-13T21:54:56.477 に答える
1

このようなことができます

var groups = dateList.GroupBy(date => date.Date)
                     .Select( grp => grp.Max( date => date.TimeOfDay));
于 2012-12-13T21:59:03.447 に答える