Поделиться через


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#

Ссылки

Ключевые слова C#

Checked и Unchecked (Справочник по C#)

unchecked (справочник по C#)

Другие ресурсы

Справочник по C#