English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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:
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
C# proporciona los siguientes métodos de conversión de tipo integrados:
Número de serie | Método & Descripción |
---|---|
1 | ToBoolean Si es posible, convertir el tipo a un tipo booleano. |
2 | ToByte Convertir el tipo a un tipo de byte. |
3 | ToChar Si es posible, convertir el tipo a un tipo de carácter Unicode único. |
4 | ToDateTime Convertir el tipo (entero o tipo de cadena) a Fecha-Estructura de tiempo. |
5 | ToDecimal Convertir un tipo de coma flotante o entero a un tipo decimal. |
6 | ToDouble Convertir el tipo a un tipo de coma flotante doble. |
7 | ToInt16 Convertir el tipo a 16 Tipo de entero. |
8 | ToInt32 Convertir el tipo a 32 Tipo de entero. |
9 | ToInt64 Convertir el tipo a 64 Tipo de entero. |
10 | ToSbyte Convertir el tipo a un tipo de byte con signo. |
11 | ToSingle Convertir el tipo a un tipo de coma flotante simple. |
12 | ToString Convertir el tipo a un tipo de cadena. |
13 | ToType Convertir el tipo a un tipo especificado. |
14 | ToUInt16 Convertir el tipo a 16 Tipo de entero sin signo. |
15 | ToUInt32 Convertir el tipo a 32 Tipo de entero sin signo. |
16 | ToUInt64 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:
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