Existem três diferenças importantes quando utilizamos o operador as:
1 – O operador as retorna null quando o objeto que você esta tentando converter não é do tipo solicitado, já o cast lança uma exceção.
2 – O operador as só pode ser utilizado para converter objetos de referencia para objetos de referencia.
3 – O operador as também não permite conversões definidas pelo usuário como conversões implícitas e explicitas, que o cast permite.
Existe de fato duas operações completamente diferentes definidas no IL que gerencia essas duas situações.
Não são apenas “perfumarias de código” escritas em C#.
O operador as é ligeiramente mais rápido nas versões 1.0 e 1.1 do Microsoft CLR comparado ao cast, mesmo em casos onde há conversões invalidas que diminuem severamente a performance devido as exceções.
É isso…
Grande abraço
@pmoraesjr
Fico muito grato em se inscrever no teu blog.
A partilha de conhecimento é um bem precioso,
Porque aprende-se todos os dias e o saber ñ
ocupa espaço, apenas aumenta o nosso leque
de conhecimento e nos mantém actulizados!
Valeu pela tua actualização, dicas e livros…