Если ваш вызов Parse () завершится неудачно, а ваше исключение не будет обработано или вы не протестируете возвращаемое значение TryParse (), то переменная int наверняка останется такой, какой была - инициализирована по умолчанию нулем.
Например, это будет держать ваш int ноль:
int i;
Int32.Parse("FAIL!");
// i is still a zero.
Вместо этого попробуйте это:
int i;
bool parseSuccessful = Int32.TryParse("123", out i);
// parseSuccessful should be true, and i should be 123.
Или изящно увидеть, что это не так:
int i;
bool parseSuccessful = Int32.TryParse("FAIL!", out i);
// parseSuccessful should be false, and i should be 0.