English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Conversão de Tipos do C#

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:

Exemplo Online

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

Métodos de conversão de tipo do C#

O C# fornece os seguintes métodos de conversão de tipo incorporados:

NúmeroMétodo & Descrição
1ToBoolean
Converter o tipo para o tipo booleano, se possível.
2ToByte
Converter o tipo para o tipo de byte.
3ToChar
Converter o tipo para o tipo de caractere Unicode, se possível.
4ToDateTime
Converter o tipo (inteiro ou tipo de string) para Data-Estrutura de tempo.
5ToDecimal
Converter tipos de ponto flutuante ou inteiro para o tipo decimal.
6ToDouble
Converter o tipo para o tipo de ponto flutuante duplo.
7ToInt16
Converter o tipo para 16 Tipo de inteiro.
8ToInt32
Converter o tipo para 32 Tipo de inteiro.
9ToInt64
Converter o tipo para 64 Tipo de inteiro.
10ToSbyte
Converter o tipo para o tipo de byte assinado.
11ToSingle
Converter o tipo para o tipo de ponto flutuante simples.
12ToString
Converter o tipo para o tipo de string.
13ToType
Converter o tipo para o tipo especificado.
14ToUInt16
Converter o tipo para 16 Tipo de inteiro sem sinal.
15ToUInt32
Converter o tipo para 32 Tipo de inteiro sem sinal.
16ToUInt64
Converter o tipo para 64 Tipo de inteiro sem sinal.

O exemplo a seguir converte tipos de valores diferentes para tipos de string:

Exemplo Online

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