English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A conversão de tipo fundamentalmente é a tipagem, ou seja, a conversão de dados de um tipo para outro tipo. No C#, a tipagem tem duas formas:
Conversão implícita - Essas conversões são conversões padrão do C# realizadas de maneira segura, sem causar perda de dados. Por exemplo, conversão de tipos de inteiro de menor tamanho para tipos de inteiro de maior tamanho, conversão de subclasses para classes base.
Conversão explícita de tipo - Conversão explícita de tipo, ou seja, conversão de tipo forçada. A conversão explícita requer o operador de conversão forçada e pode causar perda de dados.
O exemplo a seguir mostra uma conversão de tipo explícita:
namespace TypeConversionApplication { class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // Conversão forçada de double para int i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:
5673
O C# fornece os seguintes métodos de conversão de tipo incorporados:
Número | Método & Descrição |
---|---|
1 | ToBoolean Converter o tipo para o tipo booleano, se possível. |
2 | ToByte Converter o tipo para o tipo de byte. |
3 | ToChar Converter o tipo para o tipo de caractere Unicode, se possível. |
4 | ToDateTime Converter o tipo (inteiro ou tipo de string) para Data-Estrutura de tempo. |
5 | ToDecimal Converter tipos de ponto flutuante ou inteiro para o tipo decimal. |
6 | ToDouble Converter o tipo para o tipo de ponto flutuante duplo. |
7 | ToInt16 Converter o tipo para 16 Tipo de inteiro. |
8 | ToInt32 Converter o tipo para 32 Tipo de inteiro. |
9 | ToInt64 Converter o tipo para 64 Tipo de inteiro. |
10 | ToSbyte Converter o tipo para o tipo de byte assinado. |
11 | ToSingle Converter o tipo para o tipo de ponto flutuante simples. |
12 | ToString Converter o tipo para o tipo de string. |
13 | ToType Converter o tipo para o tipo especificado. |
14 | ToUInt16 Converter o tipo para 16 Tipo de inteiro sem sinal. |
15 | ToUInt32 Converter o tipo para 32 Tipo de inteiro sem sinal. |
16 | ToUInt64 Converter o tipo para 64 Tipo de inteiro sem sinal. |
O exemplo a seguir converte tipos de valores diferentes para tipos de string:
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(); } } }
Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:
75 53.005 2345.7652 True