.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ない