ILookup<key, value>
इंटरफ़ेस IDictionary<key, value>
से भिन्न कैसे है?ILookup इंटरफ़ेस बनाम IDictionary
मुझे समझ में नहीं आता कि ILookup
इंटरफ़ेस का क्या अर्थ है।
ILookup<key, value>
इंटरफ़ेस IDictionary<key, value>
से भिन्न कैसे है?ILookup इंटरफ़ेस बनाम IDictionary
मुझे समझ में नहीं आता कि ILookup
इंटरफ़ेस का क्या अर्थ है।
ILookup
प्रविष्टियों कुंजी प्रति कई मदों को शामिल कर सकते हैं - प्रत्येक कुंजी एक IEnumerable<TElement>
को मैप किया है।
के रूप में भी टिप्पणी में करने के लिए संकेत दिया एक ILookup
अपरिवर्तनीय, आप एक IDictionary
(यह एक Add()
विधि और एक इंडेक्सर हो रही अनुमति देता है और सेटिंग मूल्यों को उजागर करता है) में मान अद्यतन कर सकते हैं, जबकि है।
सारांश में उनके उपयोग के मामले में बहुत अलग है - आप एक देखने का उपयोग जब आप एक 1 की जरूरत है: लागू नहीं मान जो तय कर रहे हैं और नहीं करेंगे (और नहीं कर सकते हैं) को बदलने के साथ नक्शा। दूसरी ओर एक शब्दकोश एक म्यूटेबल कुंजी मान जोड़े के 1: 1 मैपिंग प्रदान करता है, इसलिए इसे मान जोड़ने या निकालने के लिए अपडेट किया जा सकता है।
दरअसल, प्रत्येक प्रविष्टि एक 'IEnumerable
+1 सच होने पर, इंटरफ़ेस, अपडेट-म्यूटेबिलिटी, मुख्य आवश्यकताएं इत्यादि के साथ अंतर पर अधिक अच्छा लगेगा। –
'ILookup
यह IDictionary
से कहीं अधिक सरल है। इसका उपयोग लिंक द्वारा किया जाता है। इसमें केवल Contains
, Item
और Count
है। IDictionary
Add
, Remove
, आदि
क्या आपका मतलब है कि ILookup एक IDictionary का केवल पढ़ने वाला सबसेट है? –
की तरह ... लेकिन प्रत्येक तत्व एक IGrouping है, इसलिए एक कुंजी के लिए कई तत्व हो सकते हैं ताकि यह अच्छी तरह से मानचित्र न हो। मैं शब्दकोश के लिए केवल पढ़ने के लिए इंटरफेस होना अच्छा होता। – Philippe
@Philippe पढ़ शब्दकोश में केवल इंटरफ़ेस 'है IReadOnlyDictionary
"मल्टी नक्शा" समर्थन पहली बात यह है कि (एक कुंजी मान का एक सेट करने के लिए मैप कर सकते हैं) मन में आता है है। –
संभावित डुप्लिकेट "[लुकअप का बिंदु क्या है <टीके, टेलीमेंट>?] (Https://stackoverflow.com/q/1403493/107625)"। –