C# で LINQ を使用しています
このコードの結果はdates
of 型になりますLookup<TKey, TElement>
var dates = timetableEvents.GroupBy(x => x.DateTimeStart);
代わりに、(DateTime 型の) DateTimeStart のリストだけが必要です。
LINQ 式を変更するにはどうすればよいですか?
C# で LINQ を使用しています
このコードの結果はdates
of 型になりますLookup<TKey, TElement>
var dates = timetableEvents.GroupBy(x => x.DateTimeStart);
代わりに、(DateTime 型の) DateTimeStart のリストだけが必要です。
LINQ 式を変更するにはどうすればよいですか?
Select
代わりに単に使用してください:
var dates = timetableEvents.Select(x => x.DateTimeStart);
または、各グループから 1 つだけが必要な場合:
var dates = timetableEvents.GroupBy(x => x.DateTimeStart).Select(x => x.Key);
そして、少し速く実行したい場合は、 Distinct を使用できます(Rawlingの回答のように)が、多くのオブジェクトがない限り、おそらく大きな違いに気付かないでしょう(ただし、意図ははるかにクリーンです):
var dates = timetableEvents.Select(x => x.DateTimeStart).Distinct();
開始日時のみが必要な場合は、
var dates = timetableEvents.Select(x => x.DateTimeStart).Distinct();
よりも効率的かもしれません
var dates = timetableEvents.GroupBy(x => x.DateTimeStart).Select(x => x.Key);
イベントをグループ化する必要がないことがわかっているためです。