मैं एक शब्दकोश है:शब्दकोश वस्तुओं को फिर से शुरू करते समय मूल्यों को कैसे अपडेट करें?
Dictionary<string, long> Reps = new Dictionary<string, long>();
और मैं जबकि इस तरह, सभी आइटम के माध्यम से पुनरावृत्ति मूल्यों को अपडेट करना चाहते:
"Collection was modified; enumeration operation may not execute"
:
foreach (string key in Reps.keys)
{
Reps[key] = 0;
}
यह मुझे कह रही है एक त्रुटि दे रहा है
कोई मुझे बता सकता है कि यह मुझे यह त्रुटि क्यों दे रहा है, क्योंकि मेरे पास एक और फ़ंक्शन है जो मान जोड़ता है, और जब बटन क्लिक किया जाता है तो इसे कॉल किया जाता है:
public static void Increment(string RepId, int amount)
{
long _value = Convert.ToInt64(Reps[RepId]);
_value = _value + amount;
Reps[RepId] = _value;
}
और यह कार्य ठीक काम कर रहा है। तो सभी मूल्यों को अद्यतन करते समय समस्या क्या है? और इसके लिए समाधान क्या है?
अपने wokring लेकिन आप केवल एक जवाब दे दिया है मेरी तलाश का हिस्सा यानी समाधान ... क्या आप त्रुटि के कारण के बारे में और बता सकते हैं? –
ठीक है, मुझे लगता है क्योंकि foreach संग्रह पर आधारित है, और यदि आप संग्रह को बदल देंगे, तो भविष्यवाणी कैसे निर्धारित कर सकती है कि कौन से हिस्सों को संसाधित करने के लिए छोड़ा गया है और क्या नहीं? जैसे यदि आप पुनरावृत्ति के दौरान एक नया रेप्स [x] जोड़ देंगे तो क्या आप उम्मीद करेंगे कि यह पूर्वानुमान में भाग लेगा या नहीं? – Pleun