poniedziałek, 30 listopada 2009

C# operator: as czy zwykłe rzutowanie z nawiasami

Który sposób rzutowania jest lepszy?
Rzutowanie za pomocą operatora as, czy "stary" sposób z uzyciem nawiasów (cast):

 
IAaa aa = obj as IAaa;
IAaa aa = (IAaa)obj;


Jesli używamy operatora as musimy pamietać, że gdy konwersja nie jest możliwa to:
cast rzuca wyjątek
operator as zwraca null


Stąd używając operatora as należy sprawdzić, czy wynik konwersji nie jest null.
Jesli tego nie sprawdzimy dostaniemy NullReferenceException na pierwszym odwołaniu do zmiennej.

Brak komentarzy:

Prześlij komentarz