Skip to main content

Posts

Showing posts with the label as

How NOT to use AS keyword

Mai mult ca sigur ati folosit pana acuma "as". Prin intermediul sau se poate face cast unui obiect la un tip dat, iar in cazul in care cast-ul nu se poate face, valoarea returnata este null. BaseItem item = val as BaseItem; // returneaza null daca nu poate sa faca conversia BaseItem item = (BaseItem) val; // arunca exceptie daca nu poate sa faca conversia Despre "as" am mai discutat in acest post: http://vunvulearadu.blogspot.com/search/label/C%23%20AS%20Keyword%20Cast%20speed%20performance Mai jos o sa va prezint un mod mai ciudat de a folosii keyword-ul "as". A fost folosit pentru a detecta daca un element este de un anumit. Iata cum a fost folosit: BaseItem item; ... if ( item as CarItem != null ) { ... } else if ( item as BookItem != null ) { ... } else if ( item as ClassItem != null ) { ... } Ce mi s-a parut interesant este cum a fost folosit "as". In locul sau se poate folosii fara probleme "is". Acesta o sa ret...