.ToLookup<TSource, TKey>
döndürür bir ILookup<TKey, TSource>
. ILookup<TKey, TSource>
ayrıca arayüz uygular IEnumerable<IGrouping<TKey, TSource>>
.
.GroupBy<TSource, TKey>
döndürür bir IEnumerable<IGrouping<Tkey, TSource>>
.
ILookup, kullanışlı dizin oluşturucu özelliğine sahiptir, bu nedenle sözlüğe benzer (veya arama benzeri) bir şekilde kullanılabilir, oysa GroupBy bunu yapamaz. Indexer olmadan GroupBy, çalışmak için bir sıkıntıdır; Daha sonra dönüş nesnesine başvurmanın hemen hemen tek yolu, onu döngü yapmaktır (veya başka bir LINQ-extension yöntemi kullanmaktır). Başka bir deyişle, GroupBy'nin çalıştığı her durumda, ToLookup da çalışacaktır.
Tüm bunlar beni neden GroupBy ile uğraşayım? Neden var olmalı?
Lookup
, ancak GroupBy
sonuç numaralandırıldığında bunu oluşturur. reference.microsoft.com/#System.Core/System/Linq/…
GroupBy
MıIQuerable
,ILookup
değil