2012-04-12 12 views
17

मेरे पास सी # में निम्न कोड है, मूल रूप से यह कुछ चाबियों और उनके मूल्यों के साथ एक सरल शब्दकोश है।सी # में शब्दकोश में कुंजी के मूल्य को कैसे अपडेट करें?

Dictionary<string, int> dictionary = 
    new Dictionary<string, int>(); 
dictionary.Add("cat", 2); 
dictionary.Add("dog", 1); 
dictionary.Add("llama", 0); 
dictionary.Add("iguana", -1); 

मैं नया मान साथ कुंजी 'बिल्ली' को अद्यतन करना चाहते हैं।
मैं यह कैसे कर सकता हूं?

+0

सच की तरह अपने मूल्य? क्या आपने पहले Google/bing/prefered-search-engine को आजमाया था? – sovanesyan

+1

मैंने किया और यह पहला परिणाम था! रचनात्मक होने का तरीका! –

उत्तर

30

तुम सिर्फ

dictionary["cat"] = 5; 

:)

की कोशिश की अद्यतन

dictionary["cat"] = 5+2; 
dictionary["cat"] = dictionary["cat"]+2; 
dictionary["cat"] += 2; 

गैर मौजूदा कुंजियों से सावधान रहें :)

+0

wowwwww !!!!!! यह काम करता हैं । धन्यवाद @JOHN –

+0

लेकिन यदि मैं मौजूदा मान में नया मान जोड़ना चाहता हूं तो क्या होगा? –

+0

@ अहसान आश्फाक, "मौजूदा में जोड़ें" से आपका क्या मतलब है? – walther

0

बस इंडेक्सर का उपयोग करें और हैसीधे अद्यतन:

dictionary["cat"] = 3 
15

एक आइटम शब्दकोश जोड़ने के लिए इस सरल समारोह का प्रयास करता है, तो यह अस्तित्व में या अद्यतन नहीं है जब यह मौजूद है:

public void AddOrUpdateDictionaryEntry(string key, int value) 
    { 
     if (dict.ContainsKey(key)) 
     { 
      dict[key] = value; 
     } 
     else 
     { 
      dict.Add(key, value); 
     } 
    } 

इस रूप में dict [कुंजी] = मूल्य एक ही है।

+2

यह एक पंक्ति में 'dict [key] = value' जैसा ही है। इसके अलावा मैं funcation 'AddOrUpdate' – nawfal

+0

@nawfal को कॉल करूंगा, वे समान नहीं हैं, अंतर यह है कि यह पहले कुंजी के लिए जांच करता है। यदि यह अस्तित्व में है, तो यह नया मान जोड़ता है अगर यह एक नई प्रविष्टि नहीं बनाता है। समारोह समारोह पर अच्छा बिंदु हालांकि। – cubski

+2

जो 'dict [key] = value' जैसा ही है .. आपको क्या लगता है कि' dict [key] = value' करता है? – nawfal

0

शब्दकोश एक महत्वपूर्ण मूल्य जोड़ी है।

dic["cat"] 

और आवंटित द्वारा कैच कुंजी

dic["cat"] = 5 
संबंधित मुद्दे