checked (C#-Referenz)

Aktualisiert: November 2007

Mit dem checked-Schlüsselwort wird die Überlaufprüfung für arithmetische Operationen und Konvertierungen mit ganzzahligen Typen explizit aktiviert.

Wenn ein Ausdruck einen Wert außerhalb des Wertebereichs des Zieltyps generiert, verursachen konstante Ausdrücke standardmäßig Fehler während der Kompilierung, und nicht konstante Ausdrücke werden zur Laufzeit ausgewertet und lösen Ausnahmen aus. Mit dem checked-Schlüsselwort können Sie jedoch die Überprüfung aktivieren, wenn Sie durch Compileroptionen oder die Konfiguration der Umgebung global unterdrückt ist.

Die Verwendung des unchecked-Schlüsselworts wird in den Beispielen zu unchecked veranschaulicht.

Beispiel

In diesem Beispiel wird die Verwendung von checked für einen nicht konstanten Ausdruck veranschaulicht. Der Überlauf wird zur Laufzeit berichtet.

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#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 5.3.3.2 Blockanweisungen, die checked-Anweisung und die unchecked-Anweisung

  • 7.5.12 Der Operator "checked" und der Operator "unchecked"

  • 8.11 Die checked-Anweisung und die unchecked-Anweisung

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Schlüsselwörter

Checked und Unchecked (C#-Referenz)

unchecked (C#-Referenz)

Weitere Ressourcen

C#-Referenz