Como funciona o Cast?
Como funciona o Cast?
Cast é um meio pelo qual vc transforma um valor de um tipo para outro,como por exemplo : você quer transformar um boolean em int não da.... você precisa fazer um cast para avisar à jvm "olha eu aceito que vc transforme esse numero em outro tipo"
Entendi! Muito obrigado!
Entendi! Muito obrigado!
Samuel,
O C# é uma linguagem tipada estaticamente. Pra entender melhor:
int numero = 0;
numero = "0";
Se você tentar fazer isso, irá ocorrer um erro de compilação, pois você já declarou que a variável número é do tipo inteiro e ela não pode aceitar valores de outros tipo (Strings, por exemplo).
Porém, há vezes que você precisa que esse valor se torne de outro tipo.
Para isso, você precisa fazer o casting.
No C#, existem conversões implícitas (essa ocorre muito entre valores dos tipos int e double), explícitas (cast), as definidas pelo usuário (por meio da sintaxe public static explicit operator...., conheci esse aqui agora pesquisando kkk') e classes auxiliar(Convert.ToInt32 por exemplo).
Abaixo também segue uma discussão legal sobre casting no C#. Basicamente, em questões de performance não é muita diferença, porém há de se tomar cuidado com os erros que podem ocorrer em tempo de execução.
Seguem abaixo as fontes: https://msdn.microsoft.com/pt-br/library/09479473.aspx
I http://stackoverflow.com/questions/1289664/the-cost-of-casting
O casting serve para "traduzir" um parâmetro.
Exemplo: int value = (int)1.5; //-- atribui um valor 1
O valor armazenado em value que é um int vai ser a "tradução" do 1.5 ( double ) para int, que terá como resultado 1
No caso dos objetos, vai depender de uma série de fatores para definir se é um casting válido ou não, no caso do exemplo é possível pois é uma classe filha passada como parâmetro no lugar da original.
Obs.: Se sanou sua dúvida, marque como resolvido ;)