/checked (проверка целочисленных арифметических операций) (параметры компилятора C#)
Обновлен: Ноябрь 2007
Параметр /checked указывает, будет ли находящийся вне области действия ключевых слов checked и unchecked целочисленный арифметический оператор, в результате выполнения которого получено значение, выходящее за установленный для данного типа данных диапазон значений, приводить к возникновению исключения во время выполнения.
/checked[+ | <U>-</U>]
Заметки
Действие параметра /checked не затрагивает целочисленный арифметический оператор, находящийся вне области действия ключевых слов checked или unchecked.
Если в результате выполнения целочисленного арифметического оператора, находящегося вне области действия ключевых слов checked или unchecked, получено значение, выходящее за установленный для данного типа данных диапазон значений, и в компиляции использовался /checked+ (/checked), то этот оператор будет приводить к возникновению исключения во время выполнения. Если в компиляции использовался /checked-, оператор не будет приводить к исключению во время выполнения.
/checked- является значением по умолчанию для данного параметра, поэтому такой же результат можно получить, совсем опустив параметр. Одним из сценариев использования /checked- является создание крупных приложений: иногда автоматизированные средства используются для построения подобных приложений, и в данной ситуации они могут автоматически задать + для /checked. Чтобы переопределить глобальное значение по умолчанию, задайте /checked-.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте страницу Свойства проекта. Дополнительные сведения см. в разделе Практическое руководство. Установка свойств построения (C#).
Выберите страницу свойств Построение.
Нажмите кнопку Дополнительно.
Измените свойство Проверять арифметические переполнения и потери точности.
Сведения о программном доступе к этому параметру компилятора см. в CheckForOverflowUnderflow.
Пример
Скомпилируйте t2.cs и укажите, что целочисленный арифметический оператор, находящийся вне области действия ключевых слов checked или unchecked и в результате выполнения которого получено значение, выходящее за установленный для данного типа данных диапазон значений, будет приводить возникновению исключения во время выполнения.
csc t2.cs /checked