Condividi tramite


checked (Riferimenti per C#)

Aggiornamento: novembre 2007

La parola chiave checked viene utilizzata per attivare in modo esplicito il controllo dell'overflow nelle conversioni e nelle operazioni aritmetiche di tipo integrale.

Per impostazione predefinita, se un'espressione produce un valore non compreso nell'intervallo del tipo di destinazione, le espressioni costanti generano errori in fase di compilazione, mentre le espressioni non costanti vengono valutate in fase di esecuzione e generano eccezioni. È tuttavia possibile utilizzare la parola chiave checked per attivare il controllo se è stato eliminato globalmente mediante opzioni del compilatore o dalla configurazione dell'ambiente.

Per informazioni sull'utilizzo della parola chiave unchecked, vedere gli esempi di unchecked.

Esempio

Nell'esempio riportato di seguito viene illustrato come utilizzare una parola chiave checked per un'espressione non costante. L'overflow viene segnalato in fase di esecuzione.

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
 */

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere le sezioni riportate di seguito in Specifiche del linguaggio C#:

  • 5.3.3.2 Istruzioni block, checked e unchecked

  • 7.5.12 Operatori checked e unchecked

  • 8.11 Istruzioni checked e unchecked

Vedere anche

Concetti

Guida per programmatori C#

Riferimenti

Parole chiave di C#

Checked e Unchecked (Riferimenti per C#)

unchecked (Riferimenti per C#)

Altre risorse

Riferimenti per C#