Lookup
का एक उपयोग Dictionary
को उलट सकता है।
मान लीजिए कि आपके पास Dictionary
के रूप में लागू की गई एक फोनबुक है (चाबियाँ के रूप में अद्वितीय) नामों के साथ, प्रत्येक नाम एक फोन नंबर से जुड़ा हुआ है। लेकिन अलग-अलग नाम वाले दो लोग एक ही फोन नंबर साझा कर सकते हैं। यह Dictionary
के लिए कोई समस्या नहीं है, जो इस बात की परवाह नहीं करता कि दो कुंजी एक ही मान के अनुरूप हैं।
अब आप यह देखने का एक तरीका चाहते हैं कि कोई दिया गया फ़ोन नंबर किसके पास है। आप Lookup
बनाते हैं, जो आपके Dictionary
से सभी KeyValuePairs
जोड़ते हैं, लेकिन पीछे की ओर, मूल्य के साथ कुंजी और कुंजी के रूप में मान के साथ। अब आप एक फोन नंबर पूछ सकते हैं, और उन सभी लोगों के नामों की एक सूची प्राप्त कर सकते हैं जिनके फोन नंबर हैं।एक ही डेटा के साथ एक Dictionary
बिल्डिंग डेटा छोड़ देगी, (या असफल पर आप इसे कैसे किया निर्भर करता है,)
dictionary["555-6593"] = "Dr. Emmett Brown";
dictionary["555-6593"] = "Marty McFly";
कर के बाद से इसका मतलब है कि दूसरी प्रविष्टि अधिलेखित कर देता है पहले - डॉक्टर नहीं रह गया है सूचीबद्ध है।
एक से थोड़ा अलग तरीके से एक ही डेटा लिखने के लिए कोशिश कर रहा है:
dictionary.Add("555-6593", "Dr. Emmett Brown");
dictionary.Add("555-6593", "Marty McFly");
दूसरी पंक्ति पर एक अपवाद फेंक के बाद से आप कर सकते हैं नहीं Add
एक प्रमुख जो Dictionary
में पहले से ही है।
[बेशक, आप दोनों दिशाओं में लुकअप करने के लिए कुछ अन्य एकल डेटा संरचना का उपयोग करना चाह सकते हैं। इस उदाहरण का अर्थ है कि आपको Dictionary
से प्रत्येक बार बाद में परिवर्तनों को पुन: उत्पन्न करना होगा। लेकिन कुछ डेटा के लिए यह सही समाधान हो सकता है।]
मुझे लगता है कि यह उत्तर बेहतर बनाने के लिए आप कुछ वर्रों को प्रतिस्थापित कर सकते हैं। सीखने के उद्देश्यों के लिए मुझे लगता है कि जब प्रकार स्पष्ट रूप से व्यक्त किए जाते हैं, तो इसका पालन करना आसान होता है। बस मेरे 2 सेंट :) –
यदि यह दोनों दुनिया में सबसे अच्छा है, तो एक शब्दकोश के साथ परेशान क्यों? –
@ केलीबारन: क्योंकि यह वास्तविक कुंजी/मूल्य जोड़ी संग्रह के लिए व्यर्थ होगा, जहां प्रति कुंजी केवल एक ही मूल्य है। –