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.