.ToLookup<TSource, TKey>एक रिटर्न ILookup<TKey, TSource>। ILookup<TKey, TSource>इंटरफ़ेस भी लागू करता है IEnumerable<IGrouping<TKey, TSource>>।
.GroupBy<TSource, TKey>एक रिटर्न IEnumerable<IGrouping<Tkey, TSource>>।
ILookup के पास आसान इंडेक्सर प्रॉपर्टी है, इसलिए इसे डिक्शनरी-जैसे (या लुक-अप) तरीके से इस्तेमाल किया जा सकता है, जबकि GroupBup नहीं कर सकता। इंडेक्सर के बिना GroupBy के साथ काम करने के लिए एक दर्द है; बहुत ही एकमात्र तरीका है कि आप फिर रिटर्न ऑब्जेक्ट को संदर्भित कर सकते हैं इसके माध्यम से लूप करके (या किसी अन्य LINQ- विस्तार विधि का उपयोग करके)। दूसरे शब्दों में, GroupBy जो भी काम करता है, ToLookup भी काम करेगा।
यह सब मुझे इस सवाल के साथ छोड़ देता है कि मैं GroupBy के साथ कभी क्यों परेशान होऊंगा? इसका अस्तित्व क्यों होना चाहिए?
GroupByहैIQuerable,ILookupनहीं है