Szukaj…


Składnia

  • sprawdzone (a + b) // sprawdzone wyrażenie
  • niezaznaczone (a + b) // niezaznaczone wyrażenie
  • zaznaczone {c = a + b; c + = 5; } // zaznaczony blok
  • niezaznaczone {c = a + b; c + = 5; } // niezaznaczony blok

Zaznaczone i niezaznaczone

Instrukcje C # są wykonywane w kontekście zaznaczonym lub niezaznaczonym. W sprawdzonym kontekście przepełnienie arytmetyczne powoduje wyjątek. W niezaznaczonym kontekście przepełnienie arytmetyczne jest ignorowane, a wynik jest obcinany.

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

Jeśli żaden z nich nie zostanie określony, domyślny kontekst będzie zależał od innych czynników, takich jak opcje kompilatora.

Zaznaczone i niezaznaczone jako zakres

Słowa kluczowe mogą również tworzyć zakresy w celu (od) sprawdzania wielu operacji.

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow