13.10.08
Existem duas formas de realizar um cast em C#: Prefix-casting: C#:
as-casting C#:
Resposta: Em geral, usamos uma forma ou outra por apenas costume, programadores que vieram do java tem o costume de usar o prefix-casting e programadores que vieram do VB usam o as-casting, porém existem diferenças entre os dois tipos de casting que é importante estar atento. A principal diferença entre um e outro é o que acontece quando o cast falha. Imagine, por exemplo que a SubClasse não faz herança com a SuperClasse, nesse caso o prefix-cast dispara uma exceção, entretanto o as-cast apenas retorna null quando o cast falha, deixando a execução prosseguir. Logo é mais fácil tratar o erro em programas que usam o prefix-casting e tornando-os mais simples de debugar, pois o prefix-cast dispara a exceção no momento que o problema é mais óbvio. O as-casting só disparará a exceção quando alguem tentar acessar um membro do mesmo, assim disparando uma null pointer exception. Se é dificil o tratamento de erros com as-casting, porque as pessoas usam? Apenas por um pequeno mas importante detalhe, o as-casting chega a ser 5x mais rápido que o prefix-casting. Confira você mesmo nesse artigo: http://www.codeproject.com/KB/cs/csharpcasts.aspx Endereço de trackback para este postTrackback URL (clique direito e copie atalho/localização do link) 1 trackback
Diferentes tipos de casting e C#
Existem diferentes tipos de casting em C#, o mais usado é o que colocamos entre parênteses o tipo da classe antes da variável do objeto: prefix-casting: Object o = new MinhaClasse(); MinhaClasse m = (MinhaClasse)o; Pra quem programava em VB exi...
13.10.08 @ 07:10
Esse post tem 5 feedbacks esperando moderação... Deixe seu comentário |
Hot Topics
|