Изменить переменную структуры в словаре

У меня есть такая структура:

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

Но когда я перебираю его с помощью foreach для изменения кадр анимации Я не могу этого сделать ...

Вот код:

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

Это вызывает ошибку компиляции:

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

Почему я не могу изменить значение внутри структуры, которая находится внутри словаря?

33
задан NewProger 6 June 2011 в 16:47
поделиться