.ToLookup<TSource, TKey>
ILookup<TKey, TSource>
देता है। ILookup<TKey, TSource>
इंटरफ़ेस IEnumerable<IGrouping<TKey, TSource>>
लागू करता है।ToLookup और GroupBy क्यों अलग हैं?
.GroupBy<TSource, TKey>
एक IEnumerable<IGrouping<Tkey, TSource>>
देता है।
ILookup जबकि GroupBy नहीं कर सकते काम इंडेक्सर संपत्ति है, इसलिए यह एक शब्दकोश की तरह (या देखने की तरह) ढंग से इस्तेमाल किया जा सकता। इंडेक्सर के बिना GroupBy के साथ काम करने के लिए दर्द है; इसके बाद रिटर्न ऑब्जेक्ट को संदर्भित करने का एकमात्र तरीका यह है कि इसके माध्यम से लूपिंग (या एक और LINQ- एक्सटेंशन विधि का उपयोग कर)। दूसरे शब्दों में, ग्रुपबी काम करता है कि कोई भी मामला, ToLookup भी काम करेगा।
यह सब मुझे सवाल क्यों मैंने कभी GroupBy से परेशान हैं साथ छोड़ देता है? यह क्यों अस्तित्व में होना चाहिए?
'GroupBy' है' IQuerable', 'ILookup' नहीं है – Magnus
GroupBy नहीं करता ' सूची [ToLookup] की गणना करें (http://msdn.microsoft.com/en-us/library/system.linq.enumerable.tolookup.aspx) यह वही तरीका बताता है जैसे ToList/ToArray – Aducci
मैंने इसे फिर से खोलने के लिए नामांकित किया है चूंकि सवाल यह कथित रूप से एक है * ToLookup * के बजाय * ग्रुपबी * और * ILookup * के बजाय * IGrouping * के डुप्लिकेट के बारे में है। उन दोनों के बीच मतभेद इन दोनों के बीच मतभेदों के लिए अलग हैं। यह प्रश्नों के बीच उत्तरों में मतभेदों से स्पष्ट होना चाहिए। – Sam