C# Непонятно, как происходит сравнение picture box и картинок из resources
столкнулся со следующей непонятной вещью. Есть таймер, который каждые 250 мс меняет картинки, 0 на 1, 1 на 0. Тело метода таймера, который не работает:
if (isGoRight)
{
if (player.Image == Properties.Resources.walkRight0)
player.Image = Properties.Resources.walkRight1;
else
player.Image = Properties.Resources.walkRight0;
}
Но если создать массив из этих двух картинок, и сравнивать player.Image с элементами массива, все заработает.
Массив:
private readonly Bitmap[] walkRightPictures = new Bitmap[2]
{
Properties.Resources.walkRight0,
Properties.Resources.walkRight1
};
Новое тело метода:
if (isGoRight)
{
if (player.Image == walkRightPictures[0])
player.Image = walkRightPictures[1];
else
player.Image = walkRightPictures[0];
}
В чем магия, объясните, пожалуйста.
Ответы (1 шт):
Автор решения: Максим
→ Ссылка
Разобрался, Image - ссылочный тип, и сравнение происходит ссылок, а не самих объектов.