Сегодня я работаю часами, так что я могу упустить что-то глупое, но на данный момент я немного слеп к этому и ищу объяснение этому поведению
Я привел пример проблемы, с которой столкнулся, и решение, которое я нашел, не совсем решение.
Проблема: в следующую функцию я передаю 1 как shotCount и 9 как Обратный отсчет
результат, когда я отлаживаю, я вижу первый if run и запускаю return 2, но затем и остальное решает запустить и, наконец, вернуть -1
public int getNextShot(int shotCount, int Countdown)
{
if ((shotCount == 1) && (Countdown != 10)) return 2;
else if (shotCount == 0) return 1;
else return -1;
}
НО, если я делаю это (те же параметры), это работает:
public int getNextShot(int shotCount, int Countdown)
{
int res = -2;
if ((shotCount == 1) && (Countdown != 10)) res = 2;
else if (shotCount == 0) res = 1;
else res = -1;
return res;
}
Я что-то здесь упускаю?
Спасибо:)