c# - KeyValuePair मान को कैसे संशोधित किया जाए?




.net (3)

मुझे एक समस्या तब हुई जब मैंने एक आइटम के मूल्य को संशोधित करने की कोशिश की क्योंकि इसका केवल एक ही क्षेत्र है

KeyValuePair<Tkey, Tvalue>

मैंने विभिन्न विकल्पों की कोशिश की है जैसे:

Dictionary<Tkey, Tvalue>

लेकिन वहां भी मुझे वही समस्या है। क्या मूल्य फ़ील्ड को नए मूल्य पर सेट करने का एक तरीका है?


आप KeyValuePair को संशोधित नहीं कर सकते, लेकिन आप अपने शब्दकोश मूल्यों को इस तरह से संशोधित कर सकते हैं:

foreach (KeyValuePair<String, int> entry in dict.ToList())
{
    dict[entry.Key] = entry.Value + 1;
}

या इस तरह:

foreach (String entry in dict.Keys.ToList())
{
    dict[entry] = dict[entry] + 1;
};

आप इसे संशोधित नहीं कर सकते, आप इसे एक नए के साथ बदल सकते हैं।

var newEntry = new KeyValuePair<Tkey, Tvalue>(oldEntry.Key, newValue);

या शब्दकोश के लिए:

dictionary[oldEntry.Key] = newValue;

KeyValuePair<TKey, TValue> अपरिवर्तनीय है। आपको संशोधित कुंजी या मूल्य के साथ एक नया बनाना होगा। आप वास्तव में आगे क्या करते हैं यह आपके परिदृश्य पर निर्भर करता है, और वास्तव में आप क्या करना चाहते हैं ...





.net