Поделиться через


/checked (проверка целочисленных арифметических операций) (параметры компилятора C#)

Обновлен: Ноябрь 2007

Параметр /checked указывает, будет ли находящийся вне области действия ключевых слов checked и unchecked целочисленный арифметический оператор, в результате выполнения которого получено значение, выходящее за установленный для данного типа данных диапазон значений, приводить к возникновению исключения во время выполнения.

/checked[+ | <U>-</U>]

Заметки

Действие параметра /checked не затрагивает целочисленный арифметический оператор, находящийся вне области действия ключевых слов checked или unchecked.

Если в результате выполнения целочисленного арифметического оператора, находящегося вне области действия ключевых слов checked или unchecked, получено значение, выходящее за установленный для данного типа данных диапазон значений, и в компиляции использовался /checked+ (/checked), то этот оператор будет приводить к возникновению исключения во время выполнения. Если в компиляции использовался /checked-, оператор не будет приводить к исключению во время выполнения.

/checked- является значением по умолчанию для данного параметра, поэтому такой же результат можно получить, совсем опустив параметр. Одним из сценариев использования /checked- является создание крупных приложений: иногда автоматизированные средства используются для построения подобных приложений, и в данной ситуации они могут автоматически задать + для /checked. Чтобы переопределить глобальное значение по умолчанию, задайте /checked-.

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте страницу Свойства проекта. Дополнительные сведения см. в разделе Практическое руководство. Установка свойств построения (C#).

  2. Выберите страницу свойств Построение.

  3. Нажмите кнопку Дополнительно.

  4. Измените свойство Проверять арифметические переполнения и потери точности.

Сведения о программном доступе к этому параметру компилятора см. в CheckForOverflowUnderflow.

Пример

Скомпилируйте t2.cs и укажите, что целочисленный арифметический оператор, находящийся вне области действия ключевых слов checked или unchecked и в результате выполнения которого получено значение, выходящее за установленный для данного типа данных диапазон значений, будет приводить возникновению исключения во время выполнения.

csc t2.cs /checked

См. также

Другие ресурсы

Параметры компилятора C#

Свойства проекта (Visual Studio)