ฉันกำลังพยายามสร้างแผนภูมิวงกลมจากพจนานุกรม ก่อนที่ฉันจะแสดงแผนภูมิวงกลมฉันต้องการเก็บข้อมูลให้เป็นระเบียบ ฉันจะลบพายชิ้นใด ๆ ที่จะน้อยกว่า 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 colStates.Keys)
{
double Percent = colStates[key] / TotalCount;
if (Percent < 0.05)
{
OtherCount += colStates[key];
colStates[key] = 0;
}
}
colStates.Add("Other", OtherCount);