Оглавление:
Определение - Что означает «Непроверенный оператор»?
Непроверенный оператор в C # - это оператор, используемый для отключения проверки переполнения во время вычисления выражений и преобразований.
При выполнении арифметических операций целочисленного типа с использованием выражений, содержащих числовые типы данных, это может привести к исключению переполнения, если результат операции слишком велик, чтобы быть представленным в числе, которое выделяется определенным количеством битов в зависимости от его типа. В случаях, когда переполнение является приемлемым результатом операции, необходимо исключить исключение и продолжить работу с программой. В таких сценариях используется непроверенный оператор, устанавливающий непроверенный контекст, в котором арифметическое переполнение игнорируется при усечении результата.
В отличие от C / C ++, который игнорирует возможность переполнения, C # предоставляет возможность обрабатывать или игнорировать переполнение, предоставляя проверенные и непроверенные операторы. Оператор unchecked часто используется в разделе проекта, который компилируется в проверенном контексте. Некоторые из алгоритмов, в которых может использоваться непроверенный оператор, включают контрольные суммы, логику шифрования и генерацию случайных чисел.
Техопедия объясняет непроверенный оператор
Оператор unchecked используется с ключевым словом «unchecked» в выражении и как оператор в блоке кода. Он устанавливает контекст выполнения, в котором наиболее значимые биты результата отбрасываются при возникновении целочисленного переполнения, в то время как выполнение продолжается. Контекст unchecked применим к операторам, заключенным в оператор «unchecked», а не к вызовам вложенных функций.
Например, когда произведение двух больших целых чисел типа данных требует использования short для некоторой цели без какой-либо необходимости проверять наличие переполнения, можно использовать непроверенный оператор.
В общем случае выражение, содержащее постоянные члены, можно проверить только на переполнение во время компиляции. Оператор без проверки может использоваться, чтобы избежать проверки на переполнение в таких выражениях, а также для выражений, которые содержат непостоянные термины, которые не проверяются по умолчанию, как во время выполнения, так и во время компиляции.
Не проверенный оператор не может быть перегружен.
Поскольку использование непроверенного оператора снижает производительность, его следует использовать только в том случае, если переполнение не вызывает каких-либо проблем.
Это определение было написано в контексте C #