5
respostas

O que é o Cast?

Como funciona o Cast?

5 respostas

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 ;)