.ToLookup<TSource, TKey>
mengembalikan sebuah ILookup<TKey, TSource>
. ILookup<TKey, TSource>
juga mengimplementasikan antarmuka IEnumerable<IGrouping<TKey, TSource>>
.
.GroupBy<TSource, TKey>
mengembalikan sebuah IEnumerable<IGrouping<Tkey, TSource>>
.
ILookup memiliki properti pengindeks praktis, sehingga dapat digunakan dengan cara seperti kamus (atau mirip pencarian), sedangkan GroupBy tidak bisa. GroupBy tanpa pengindeks sulit untuk dikerjakan; cukup banyak satu-satunya cara agar Anda dapat mereferensikan objek yang dikembalikan adalah dengan mengulanginya (atau menggunakan metode ekstensi LINQ lainnya). Dengan kata lain, setiap kasus dimana GroupBy berfungsi, ToLookup juga akan berfungsi.
Semua ini membuat saya bertanya-tanya mengapa saya harus repot-repot dengan GroupBy? Kenapa harus ada?
Lookup
, tetapi GroupBy
membuatnya ketika hasilnya disebutkan referenceource.microsoft.com/#System.Core/System/Linq/…
GroupBy
ApakahIQuerable
,ILookup
tidak