C# - Modifier la valeur d'un dictionnaire de paires clé-valeur, tandis que dans le foreach

J'ai ce code qui est exécuté à chaque image d'un jeu:

    foreach (var repeaterAction in conditionTimes.Keys)
    {
        if (repeaterAction.Condition() == true)
        {
            if (conditionTimes[repeaterAction] == TimeSpan.Zero)
            {
                repeaterAction.Action();
            }
            else if (conditionTimes[repeaterAction] >= repeaterAction.InitialLapse)
            {
                repeaterAction.Action();
                conditionTimes[repeaterAction] -= repeaterAction.ActionInterval;
            }
            conditionTimes[repeaterAction] += gameTime.ElapsedGameTime;
        }
        else
        {
            conditionTimes[repeaterAction] = TimeSpan.Zero;
        }
    }

Ce qui me donne l'erreur suivante:

Collection a été modifiée; opération d'énumération peut pas s'exécuter.

Est-il un moyen de modifier la valeur de la paire clé-valeur à l'intérieur de la boucle foreach, sans copier le Dictionnaire à chaque frame?

OriginalL'auteur James | 2011-02-23