Checked
checked - słowo kluczowe języka C#
Instrukcje checked i Unchecked służą do informowania środowiska uruchomieniowego jak ma ono traktować błędy związane z przepełnieniem zmiennej.
Użycie bloku checked powoduje ze przy przepełnieniu zmiennej zgłaszany jest wyjątek OverflowException.
using System;
class Program
{
static void Main(string[] args)
{
byte a = 200;
byte b = 75;
byte c = 0;
checked
{
/* wynikiem dodawania jast 275 a w zmiennej typu byte mieści
sie liczba 255 - dlatego zgłoszony jest wyjątek */
c = (byte) (a + b);
}
Console.WriteLine("{0}", c);
}
}
Odwrotny efekt daje użycie instrukcji Unchecked
Konstrukcje te są dostępne w języku C# aby dać programiście wybór między bezpieczeństwem jakie daje użycie checked, a wydajnością, która wzrasta gdy używa się instrukcji Unchecked.
Sprawdzanie błędów w całym programie można uzyskać dzięki parametrowi /checked+
kompilatora. Sprawdzanie przepełnień włącza się na kompilatorach testowych, kiedy trzeba wychwycić jak najwięcej błędów, a w wersji produkcyjnej wyłącza dla zwiększenia wydajności.
Zobacz też:
ciekawa sprawa - nie wiedziałem :)