Saya mencoba membuat diagram lingkaran dari kamus. Sebelum saya menampilkan diagram lingkaran, saya ingin merapikan datanya. Saya menghapus setiap irisan pai yang kurang dari 5% dari pai dan menempatkannya dalam irisan pai "Lainnya". Namun saya mendapatkan Collection was modified; enumeration operation may not execute
pengecualian saat runtime.
Saya mengerti mengapa Anda tidak dapat menambah atau menghapus item dari kamus saat iterasi. Namun saya tidak mengerti mengapa Anda tidak bisa begitu saja mengubah nilai untuk kunci yang ada dalam loop foreach.
Setiap saran ulang: memperbaiki kode saya, akan dihargai.
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);