Оглавление:
Определение - Что означает проверенный оператор?
Проверенный оператор в C # - это оператор, используемый для принудительной проверки переполнения арифметических операций и преобразований целочисленного типа во время выполнения. Проверенные операторы используются для обнаружения ошибок переполнения, которые могут возникать во время выполнения арифметических операций, которые приводят к слишком большому числу для количества битов, выделенных для типа данных используемого результата.
Хотя существуют и другие варианты проверки переполнения, такие как переключатели компилятора и конфигурации среды выполнения, проверенные операторы обеспечивают программный способ достижения того же самого и гарантируют, что переполнение обрабатывается.
Техопедия объясняет проверенного оператора
Операции, на которые влияет проверка переполнения с использованием проверенных операторов, - это те, которые используют предопределенные операторы, включая «++», «-», и бинарные операторы, такие как «+», «-», «/», «*» и явные числовые преобразования из одного целочисленного типа в другой или из числа с плавающей запятой / двойного в целочисленный тип. Вывод операции будет основан на операндах. Для выражений, которые содержат только постоянные значения, переполнение может быть обнаружено компилятором и отображено как ошибка. Для выражений, состоящих из одного или нескольких неконстантных значений, переполнение будет проверяться во время выполнения и будет вызываться исключение (System.OverflowException).
В отличие от проверки переполнения целочисленной арифметики со знаком в C / C ++, в которой она «определяется реализацией», в C # улучшен способ контроля проверки переполнения. Оператор checked используется для выполнения операторов C # в проверенном контексте, так что возникает исключение при возникновении арифметического переполнения. Это заставляет Common Language Runtime (CLR) обрабатывать ситуации переполнения стека при выполнении операций с целочисленными типами, которые могут привести к значениям вне границ типа данных.
Проверенный оператор влияет на контекст проверки переполнения для операций, которые указаны в скобках. Он не влияет ни на какую функцию, вызванную в результате оценки содержимого выражения.
