Tengo el código que está siendo ejecutado cada fotograma de un juego:C# - Modificar el valor del diccionario par clave-valor, mientras que en foreach
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;
}
}
Esto me da el siguiente error:
Collection was modified; enumeration operation may not execute.
¿Hay alguna forma de modificar el valor en el par clave-valor dentro del bucle foreach, sin copiar el diccionario en cada cuadro?
¡Esto es asombroso! Gracias has hecho mi día – zabulus