C# Language
Проверено и не отмечено
Поиск…
Синтаксис
- checked (a + b) // проверено выражение
- unchecked (a + b) // непроверенное выражение
- checked {c = a + b; c + = 5; } // заблокирован блок
- unchecked {c = a + b; c + = 5; } // unchecked block
Проверено и не отмечено
Операторы C # выполняются в любом проверенном или непроверенном контексте. В проверенном контексте арифметическое переполнение вызывает исключение. В неконтролируемом контексте арифметическое переполнение игнорируется, и результат усекается.
short m = 32767;
short n = 32767;
int result1 = checked((short)(m + n)); //will throw an OverflowException
int result2 = unchecked((short)(m + n)); // will return -2
Если ни один из них не указан, контекст по умолчанию будет опираться на другие факторы, такие как параметры компилятора.
Проверено и не отмечено как область действия
Ключевые слова также могут создавать области для (un) проверки нескольких операций.
short m = 32767;
short n = 32767;
checked
{
int result1 = (short)(m + n); //will throw an OverflowException
}
unchecked
{
int result2 = (short)(m + n); // will return -2
}
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow