2012-07-19 13 views

उत्तर

63

जोड़ें -> शब्दकोश में एक आइटम जोड़ता है यदि शब्दकोश में पहले से मौजूद एक अपवाद फेंक दिया जाएगा।

इंडेक्सर या Dictionary[Key] => जोड़ें या अपडेट करें। यदि कुंजी शब्दकोश में मौजूद नहीं है, तो एक नया आइटम जोड़ा जाएगा। यदि कुंजी मौजूद है तो मान नए मान के साथ अपडेट किया जाएगा।


dictionary.add शब्दकोश में एक नया आइटम जोड़ देगा, dictionary[key]=value एक प्रमुख के खिलाफ शब्दकोश में किसी मौजूदा प्रविष्टि के लिए एक मूल्य सेट हो जाएगा। यदि कुंजी मौजूद नहीं है तो यह (अनुक्रमणिका) शब्दकोश में आइटम को जोड़ देगा।

Dictionary<string, string> dict = new Dictionary<string, string>(); 
dict.Add("Test", "Value1"); 
dict["OtherKey"] = "Value2"; //Adds a new element in dictionary 
Console.Write(dict["OtherKey"]); 
dict["OtherKey"] = "New Value"; // Modify the value of existing element to new value 
Console.Write(dict["OtherKey"]); 

उपरोक्त उदाहरण में, पहली जगह dict["OtherKey"] = "Value2"; में एक नया मान शब्दकोश में है क्योंकि यह अस्तित्व में नहीं है जोड़ देगा, और दूसरे स्थान पर यह नया मान के लिए मूल्य को संशोधित करेगा।

+0

और जब कुंजी 'dictionar में मौजूद नहीं है [कुंजी ] = मूल्य'? –

+0

@ हेंकहोल्टरमैन, यह नई कुंजी – Habib

+0

थाक्स हबीब के साथ शब्दकोश में जोड़ देगा। लेकिन हम डिक्शनरी [newkey] = value के साथ नई कुंजी जोड़ सकते हैं। कौन सा betten रास्ता है? – rsg

0

dictionary.add शब्दकोश में एक आइटम जोड़ें जबकि dictionary[key]=value पहले से मौजूद कुंजी के लिए एक मान निर्दिष्ट करता है।

+0

'कुंजीपटल [कुंजी] = वैल्यू कुंजी कुंजी और मान जोड़ता है यदि कुंजी मौजूद नहीं है। तो यह ** ** जोड़ें या अपडेट करें ** रास्ता –

25

Dictionary.Add कुंजी पहले से मौजूद है तो अपवाद फेंकता है। [] जब किसी आइटम को सेट करने के लिए उपयोग किया जाता है (यह तब होता है जब आप इसे पढ़ने के लिए एक्सेस करने का प्रयास करते हैं)।

x.Add(key, value); // will throw if key already exists or key is null 
x[key] = value; // will throw only if key is null 
var y = x[key]; // will throw if key doesn't exists or key is null 
+0

धन्यवाद Xanatos। – rsg

2

व्यवहार समान है जब कुंजी शब्दकोश में मौजूद नहीं है: आइटम दोनों मामलों में जोड़ा जाएगा।

जब कुंजी पहले से मौजूद है तो व्यवहार अलग-अलग होता है। dictionary[key] = value कुंजी पर मैप किए गए मान को अपडेट करेगा, जबकि dictionary.Add(key, value) इसके बजाय एक ArgumentException फेंक देगा।

16

Add के लिए दस्तावेज़ बनाता है यह बहुत स्पष्ट है, मुझे लगता है:

तुम भी एक महत्वपूर्ण यह है कि Dictionary(Of TKey, TValue) में मौजूद नहीं है का मूल्य निर्धारित करके नए तत्वों को जोड़ने के Item संपत्ति का उपयोग कर सकते हैं; उदाहरण के लिए, myCollection[myKey] = myValue (विजुअल बेसिक में, myCollection(myKey) = myValue)। हालांकि, यदि निर्दिष्ट कुंजी Dictionary(Of TKey, TValue) में पहले से मौजूद है, तो आइटम प्रॉपर्टी को पुराने मान को ओवरराइट करता है। इसके विपरीत, Add विधि अपवाद फेंकता है यदि निर्दिष्ट कुंजी वाला मान पहले से मौजूद है।

(ध्यान दें कि Item संपत्ति इंडेक्सर से मेल खाती है।)

यह हमेशा एक सवाल पूछने से पहले प्रलेखन परामर्श के लायक है ...

संबंधित मुद्दे