quarta-feira, 26 de fevereiro de 2020

Conversão de tipos (Type Casting)


A conversão de tipo ocorre quando você atribui um valor de um tipo de dados a outro tipo.

No C #, existem dois tipos de conversão:


  • Transmissão implícita (automaticamente) - convertendo um tipo menor para um tamanho maior char -> int -> long -> float -> duplo
  • Transmissão explícita (manualmente) - convertendo um tipo maior para um tipo de tamanho menor double -> float -> long -> int -> char

Conversão implícita

A conversão implícita é feita automaticamente ao passar um tipo de tamanho menor para um tipo de tamanho maior:

Exemplo
int myInt = 9;
double myDouble = myInt; // Conversão automática: int para dobrar

Console.WriteLine (myInt); // Saídas 9
Console.WriteLine (myDouble); // Saídas 9

Conversão explícita

A conversão explícita deve ser feita manualmente, colocando o tipo entre parênteses à frente do valor:

Exemplo
double myDouble = 9,78;
int myInt = (int) myDouble; // Transmissão manual: double to int

Console.WriteLine (myDouble); // Saídas 9.78
Console.WriteLine (myInt); // Saídas 9

Métodos de conversão de tipo

Também é possível converter tipos de dados explicitamente usando métodos internos, como Convert.ToBoolean, Convert.ToDouble, Convert.ToString, Convert.ToInt32 (int) e Convert.ToInt64 (long):

Exemplo
int myInt = 10;
double myDouble = 5,25;
bool myBool = true;

Console.WriteLine (Convert.ToString (myInt)); // converte int para string
Console.WriteLine (Convert.ToDouble (myInt)); // converte int para o dobro
Console.WriteLine (Convert.ToInt32 (myDouble)); // converte double para int
Console.WriteLine (Convert.ToString (myBool)); // converte bool para string

Por que conversão?
Muitas vezes, não há necessidade de conversão de tipo. Mas às vezes você precisa ao trabalhar com a entradas do usuário, para ver um exemplo disso.

Nenhum comentário: