J'essaie de créer un graphique à secteurs à partir d'un dictionnaire. Avant d'afficher le graphique à secteurs, je souhaite ranger les données. Je supprime toutes les tranches de tarte qui représenteraient moins de 5% de la tarte et les mets dans une tranche de tarte «Autre». Cependant, je reçois une Collection was modified; enumeration operation may not execute
exception au moment de l'exécution.
Je comprends pourquoi vous ne pouvez pas ajouter ou supprimer des éléments d'un dictionnaire lors de leur itération. Cependant, je ne comprends pas pourquoi vous ne pouvez pas simplement modifier une valeur pour une clé existante dans la boucle foreach.
Toute suggestion concernant la fixation de mon code serait appréciée.
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);