.ToLookup<TSource, TKey>
を返しますILookup<TKey, TSource>
。ILookup<TKey, TSource>
インターフェースも実装していますIEnumerable<IGrouping<TKey, TSource>>
。
.GroupBy<TSource, TKey>
を返しますIEnumerable<IGrouping<Tkey, TSource>>
。
ILookupには便利なインデクサープロパティがあるため、辞書のような(またはルックアップのような)方法で使用できますが、GroupByは使用できません。インデクサーなしでGroupByを使用するのは面倒です。その後、戻りオブジェクトを参照できる唯一の方法は、それをループする(または別のLINQ拡張メソッドを使用する)ことです。つまり、GroupByが機能する場合は、ToLookupも機能します。
これらすべてから、なぜGroupByに悩む必要があるのでしょうか。なぜ存在する必要があるのですか?
Lookup
ますが、GroupBy
結果が列挙されたときに、それを作成しreferencesource.microsoft.com/#System.Core/System/Linq/...
GroupBy
あるIQuerable
、ILookup
ない