13
การแก้ไขค่าพจนานุกรมในลูป foreach
ฉันกำลังพยายามสร้างแผนภูมิวงกลมจากพจนานุกรม ก่อนที่ฉันจะแสดงแผนภูมิวงกลมฉันต้องการเก็บข้อมูลให้เป็นระเบียบ ฉันจะลบพายชิ้นใด ๆ ที่จะน้อยกว่า 5% ของพายแล้ววางลงในชิ้นพาย "อื่น ๆ " อย่างไรก็ตามฉันได้รับCollection was modified; enumeration operation may not executeข้อยกเว้นในขณะทำงาน ฉันเข้าใจว่าทำไมคุณไม่สามารถเพิ่มหรือลบรายการออกจากพจนานุกรมในขณะที่วนซ้ำมัน อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมคุณไม่สามารถเปลี่ยนค่าสำหรับคีย์ที่มีอยู่ภายในลูป foreach ได้ ข้อเสนอแนะใด ๆ : แก้ไขรหัสของฉันจะได้รับการชื่นชม Dictionary<string, int> colStates = new Dictionary<string,int>(); // ... // Some code to populate colStates dictionary // ... int OtherCount = 0; foreach(string key in …