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

Conversión de tipos de C#

La conversión de tipo es esencialmente una casting de tipo, o sea, la conversión de datos de un tipo a otro. En C#, hay dos formas de casting de tipo:

  • Conversión de tipo implícita - Estas conversiones son conversiones de tipo seguras por defecto en C#, que no causan pérdida de datos. Por ejemplo, de un tipo de entero pequeño a un tipo de entero grande, de una clase derivada a una clase base.

  • Conversión de tipo explícita - Conversión de tipo explícita, es decir, conversión de tipo forzada. La conversión explícita requiere el operador de conversión forzada y puede causar pérdida de datos.

El siguiente ejemplo muestra una conversión de tipo explícita:

Ejemplo en línea

namespace TypeConversionApplication
{
    class ExplicitConversion
    {
        static void Main(string[] args)
        {
            double d = 5673.74;
            int i;
            // Conversión forzada de double a int
            i = (int)d;
            Console.WriteLine(i);
            Console.ReadKey();
            
        }
    }
}

Cuando el código superior se compila y ejecuta, se producirá el siguiente resultado:

5673

Métodos de conversión de tipo de C#

C# proporciona los siguientes métodos de conversión de tipo integrados:

Número de serieMétodo & Descripción
1ToBoolean
Si es posible, convertir el tipo a un tipo booleano.
2ToByte
Convertir el tipo a un tipo de byte.
3ToChar
Si es posible, convertir el tipo a un tipo de carácter Unicode único.
4ToDateTime
Convertir el tipo (entero o tipo de cadena) a Fecha-Estructura de tiempo.
5ToDecimal
Convertir un tipo de coma flotante o entero a un tipo decimal.
6ToDouble
Convertir el tipo a un tipo de coma flotante doble.
7ToInt16
Convertir el tipo a 16 Tipo de entero.
8ToInt32
Convertir el tipo a 32 Tipo de entero.
9ToInt64
Convertir el tipo a 64 Tipo de entero.
10ToSbyte
Convertir el tipo a un tipo de byte con signo.
11ToSingle
Convertir el tipo a un tipo de coma flotante simple.
12ToString
Convertir el tipo a un tipo de cadena.
13ToType
Convertir el tipo a un tipo especificado.
14ToUInt16
Convertir el tipo a 16 Tipo de entero sin signo.
15ToUInt32
Convertir el tipo a 32 Tipo de entero sin signo.
16ToUInt64
Convertir el tipo a 64 Tipo de entero sin signo.

El siguiente ejemplo muestra cómo convertir tipos de valores diferentes a tipos de cadena:

Ejemplo en línea

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();
            
        }
    }
}

Cuando el código superior se compila y ejecuta, se producirá el siguiente resultado:

75
53.005
2345.7652
True