Programowanie w języku C#

Unchecked

  • 2010-10-31 18:27
  • 1 komentarz
  • 1897 odsłon
  • Oceń ten tekst jako pierwszy
unchecked - 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 unchecked powoduje ze przy przepełnieniu zmiennej nie są zgłaszane żadne wyjątki.

using System;
 
class Program
{
    static void Main(string[] args)
    {
        byte a = 200;
        byte b = 75;
        byte c = 0;
 
        unchecked
        {
            /* wynikiem dodawania jast 275 a w zmiennej typu byte mieści
               sie liczba 255 - mimo to nie zostanie zgłoszony wyjątek, 
               a zmienna c będzie miała wartość 0 */
            c = (byte) (a + b);
        }
 
        Console.WriteLine("{0}", c);
    }
}


Odwrotny efekt daje użycie instrukcji checked

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.

Zobacz też:

1 komentarz

juni0r 2015-01-10 23:49

Niestety podany wynik jest błędny. Po zastosowaniu słowa kluczowego unchecked wartość liczbowa "zapętli się", czyli w naszym wypadku będzie miała wartość (275 - 256) = 19.