Переполнение C # не работает? Как включить проверку переполнения?

смотря q/a stackoverflow, c# тема. :-D

17
задан josh3736 3 February 2011 в 18:16
поделиться

1 ответ

Вы можете использовать следующие шаги, чтобы включить проверку арифметического переполнения / переполнения в Visual Studio:

  1. Щелкните правой кнопкой мыши свой проект в обозревателе решений и выберите Свойства .
  2. На вкладке «Сборка» нажмите кнопку «Дополнительно». (Это снизу)
  3. Установите флажок «Проверка на арифметическое переполнение / переполнение».

Это вызовет 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
}

Документация для проверенного доступна здесь . ( Спасибо Саше за напоминание об этом. )

31
ответ дан 30 November 2019 в 12:26
поделиться