Entendendo Conversão de Tipos em C#: Casting Implícito e Explícito Explicados
A conversão de tipos é o processo de converter um tipo de dado em outro. Em C#, isso também é conhecido como Type Casting e possui duas formas principais:
- Conversão implícita — Realizada automaticamente pelo C# de forma type-safe. Ocorre, por exemplo, de tipos integrais menores para maiores e de classes derivadas para classes base.
- Conversão explícita — Feita manualmente pelo programador usando operadores de cast ou métodos predefinidos. Requer o operador de cast.
Exemplo de Conversão Explícita
O código abaixo demonstra a conversão explícita de double para int:
using System;
namespace TypeConversionApplication
{
class ExplicitConversion
{
static void Main(string[] args)
{
double d = 5673.74;
int i;
// cast double para int
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
Saída:
5673
Métodos de Conversão de Tipos em C#
O C# fornece métodos built-in para conversão de tipos através da classe Convert:
| Método | Descrição |
|---|---|
ToBoolean | Converte um tipo para valor booleano, quando possível. |
ToByte | Converte um tipo para byte. |
ToChar | Converte um tipo para caractere Unicode único. |
ToDateTime | Converte tipos inteiros ou string para estruturas de data/hora. |
ToDecimal | Converte ponto flutuante ou inteiro para decimal. |
ToDouble | Converte um tipo para double. |
ToInt16 | Converte um tipo para inteiro de 16 bits. |
ToInt32 | Converte um tipo para inteiro de 32 bits. |
ToInt64 | Converte um tipo para inteiro de 64 bits. |
ToSByte | Converte um tipo para byte com sinal. |
ToSingle | Converte um tipo para float (ponto flutuante pequeno). |
ToString | Converte um tipo para string. |
ToType | Converte um tipo para um tipo especificado. |
ToUInt16 | Converte um tipo para inteiro sem sinal de 16 bits. |
ToUInt32 | Converte um tipo para inteiro sem sinal de 32 bits. |
ToUInt64 | Converte um tipo para inteiro sem sinal de 64 bits. |
Exemplo: Convertendo Vários Tipos para String
using System;
namespace TypeConversionApplication
{
class StringConversion
{
static void Main(string[] args)
{
int i = 75;
float f = 53.005f;
double d = 2345.7652;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}
Saída:
75
53.005
2345.7652
True
Linguagem C
- Dominando Conversão de Tipos em C#: Implícita, Explícita, Parse e Métodos Convert
- Dominando Conversão e Casting de Tipos em Python: Guia Completo
- Dominando Números, Conversão de Tipos e Matemática em Python
- Dominando Type Casting em Java: De Widening a Narrowing e Além
- Dominando Generics em Java: Simplifique Ordenação e Aumente Type Safety
- Especificações do Aço Baixo Carbono ASTM A1018 Grau CS Tipo B
- Aço ASTM A424 Grau Tipo II: Especificações e Desempenho
- Aço ASTM A424 Grau Tipo I: Principais Propriedades e Desempenho
- Aço ASTM A792 Grau CS Tipo A – Propriedades e Especificações Detalhadas
- ASTM A53 Grau A Tipo E – Especificações e Principais Propriedades