checked (Справочник по C#)
Обновлен: Ноябрь 2007
Ключевое слово checked используется для явного включения проверки переполнения при выполнении арифметических операций и преобразований с данными целого типа.
По умолчанию, если результатом выражения является значение, выходящее за пределы диапазона типа назначения, константные выражения вызовут ошибки времени компиляции, а выражения, не являющиеся константными, будут вычисляться во время выполнения и создавать исключения. При этом ключевое слово “checked” позволит включить проверку, если она глобально подавлена параметрами компилятора или конфигурацией среды.
Использование ключевого слова unchecked см. в примерах с unchecked.
Пример
В этом примере показано, как использовать checked для выражений, не являющихся константными. Во время выполнения сообщается о переполнении.
class OverFlowTest
{
static short x = 32767; // Max short value
static short y = 32767;
// Using a checked expression
static int CheckedMethod()
{
int z = 0;
try
{
z = checked((short)(x + y));
}
catch (System.OverflowException e)
{
Console.WriteLine(e.ToString());
}
return z;
}
static void Main()
{
Console.WriteLine("Checked output value is: {0}",
CheckedMethod());
}
}
/*
Output:
System.OverflowException: Arithmetic operation resulted in an overflow.
at OverFlowTest.CheckedMethod()
Checked output value is: 0
*/
Спецификация языка C#
Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:
5.3.3.2 Инструкции блоков, инструкции с ключевыми словами checked и unchecked
7.5.12 Операторы checked и unchecked
8.11 Инструкции с ключевыми словами checked и unchecked
См. также
Основные понятия
Руководство по программированию в C#
Ссылки
Checked и Unchecked (Справочник по C#)