.ToLookup<TSource, TKey>
はILookup<TKey, TSource>
を返します。 ILookup<TKey, TSource>
もインターフェイスIEnumerable<IGrouping<TKey, TSource>>
を実装しています。なぜToLookupとGroupByが異なるのですか?
.GroupBy<TSource, TKey>
はIEnumerable<IGrouping<Tkey, TSource>>
を返します。一方GROUPBYができない、
ILookupは便利インデクサ性を有するので、辞書状(又はルックアップなど)方法で使用することができます。インデクサーのないGroupByは、うまくいくでしょう。戻りオブジェクトを参照できる唯一の方法は、それをループ(または別のLINQ拡張メソッドを使用)することです。つまり、GroupByが動作する場合でも、ToLookupも同様に動作します。
すべてこれは私が今までGROUPBYを気にする理由質問で私を残し?なぜそれが存在すべきですか?
'GroupBy'は' ILookup'が – Magnus
ないGROUPBYは」 'IQuerable'、doesnのですリストを列挙する[ToLookup](http://msdn.microsoft.com/en-us/library/system.linq.enumerable.tolookup.aspx)は、同じ方法で列挙します。ToList/ToArray – Aducci
私は再オープンのためにこれをノミネートしましたそれは疑わしい重複は* ToLookup *ではなく* GroupBy *と* ILookup *ではなく、* IGrouping *についてです。これらの違いは、これらの違いとは異なります。これは、質問間の回答の違いから明らかになるはずです。 – Sam