C# - Conversão de tipo
A conversão de tipo está convertendo um tipo de dados em outro tipo. Também é conhecido como Tipo de Fundição. Em C#, a conversão de tipos tem duas formas -
-
Conversão de tipo implícita − Essas conversões são executadas pelo C# de maneira segura. Por exemplo, são conversões de tipos integrais menores para maiores e conversões de classes derivadas para classes base.
-
Conversão de tipo explícita − Essas conversões são feitas explicitamente pelos usuários usando as funções pré-definidas. As conversões explícitas exigem um operador de conversão.
O exemplo a seguir mostra uma conversão de tipo explícita -
Demonstração ao vivo
using System; namespace TypeConversionApplication { class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // cast double to int. i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
5673
Métodos de conversão de tipo C#
C# fornece os seguintes métodos de conversão de tipo internos -
Nº Sr. | Métodos e descrição |
---|---|
1 | ToBoolean Converte um tipo em um valor booleano, sempre que possível. |
2 | ToByte Converte um tipo em um byte. |
3 | ToChar Converte um tipo em um único caractere Unicode, sempre que possível. |
4 | ToDateTime Converte um tipo (tipo inteiro ou string) em estruturas de data e hora. |
5 | ParaDecimal Converte um tipo de ponto flutuante ou inteiro em um tipo decimal. |
6 | ToDouble Converte um tipo em um tipo duplo. |
7 | ParaInt16 Converte um tipo em um inteiro de 16 bits. |
8 | ToInt32 Converte um tipo em um inteiro de 32 bits. |
9 | ToInt64 Converte um tipo em um inteiro de 64 bits. |
10 | ToSbyte Converte um tipo em um tipo de byte assinado. |
11 | Para Único Converte um tipo em um pequeno número de ponto flutuante. |
12 | ToString Converte um tipo em uma string. |
13 | ToType Converte um tipo em um tipo especificado. |
14 | ToUInt16 Converte um tipo em um tipo int não assinado. |
15 | ToUInt32 Converte um tipo em um tipo longo não assinado. |
16 | ToUInt64 Converte um tipo em um grande inteiro não assinado. |
O exemplo a seguir converte vários tipos de valor para o tipo de string -
Demonstração ao vivo
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(); } } }
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
75 53.005 2345.7652 True
Linguagem C