tilesData[tile.Key]
не является местом хранения (т. е. это не переменная). Это копия экземпляра MapTile
, связанная с ключом tile.Key
в словаре tilesData
. Это то, что происходит с struct
.
Что вам нужно сделать, это:
MapTile tile = tilesData[tile.Key];
if (tile.bgFrame >= tile.bgAnimation)
{
tile.bgFrame = 0;
}
else
{
tile.bgFrame++;
}
tilesData[tile.Key] = tile;
Воспроизводите вашу проблему на моей стороне всегда.
Обратите внимание, что исключение вызвано следующим методом:
Попробуйте десериализовать исходный код DLL и найти подробный логический код.
Кажется, мы пока не можем пересмотреть это суждение, потому что команда cosmos db планирует отказаться от возможности создавать неразделенные контейнеры, так как они не позволяют вам эластично масштабировать. (Упомянутое в моем предыдущем случае: Это все еще хорошая идея - создать коллекцию comos db без ключа раздела? )
. многораздельные контейнеры с DocumentDB .net пакетом или REST API .