Ответ 1
Вы можете использовать следующие шаги, чтобы включить проверку арифметических переполнений/переполнений в Visual Studio:
- Щелкните правой кнопкой мыши на своем проекте в обозревателе решений и выберите "Свойства".
- На вкладке "Создание" нажмите кнопку "Дополнительно". (Он внизу)
- Установите флажок "Проверить арифметическое переполнение/недополнение".
Это вызовет System.OverflowException
, когда произойдет переполнение, а не обычная операция изменения значения до минимального значения.
Без арифметического переполнения/недогрузки:
int test = int.MaxValue;
test++;
//Test should now be equal to -2,147,483,648 (int.MinValue)
С включенным арифметическим переполнением/недопущением:
int test = int.MaxValue;
test++;
//System.OverflowException thrown
Использование отмеченного блока:
checked
{
int test = int.MaxValue;
test++;
//System.OverflowException thrown
}
Документация для отмеченного доступна здесь. (Спасибо Саше за то, что напомнили мне об этом.)