Modifica variabile Struct in un dizionario

Ho una struttura come questa:

public struct MapTile { public int bgAnimation; public int bgFrame; } 

Ma quando lo passo con foreach per cambiare la cornice dell’animazione non posso farlo …

Ecco il codice:

 foreach (KeyValuePair tile in tilesData) { if (tilesData[tile.Key].bgFrame >= tilesData[tile.Key].bgAnimation) { tilesData[tile.Key].bgFrame = 0; } else { tilesData[tile.Key].bgFrame++; } } 

Mi dà l’ordine di compilazione:

 Error 1 Cannot modify the return value of 'System.Collections.Generic.Dictionary.this[string]' because it is not a variable Error 2 Cannot modify the return value of 'System.Collections.Generic.Dictionary.this[string]' because it is not a variable 

Perché non posso modificare un valore all’interno di una struttura che si trova all’interno di un dizionario?