C# Conversión de tipo (casting)
C# Conversión de tipo (casting)
La conversión de tipos es cuando asignas un valor de un tipo de datos a otro tipo.
En C#, hay dos tipos de conversión:
- Conversión implícita (automáticamente): conversión de un tipo más pequeño a un tamaño de tipo más grande
char
->int
->long
->float
->double
- Conversión explícita (manualmente): convertir un tipo más grande en un tipo de tamaño más pequeño
double
->float
->long
->int
->char
Transmisión implícita
La conversión implícita se realiza automáticamente al pasar un tipo de tamaño más pequeño a un tipo de tamaño más grande:
Ejemplo
int myInt = 9;
double myDouble = myInt; // Lanzamiento automático: int a doble
Console.WriteLine(myInt); // Salidas 9
Console.WriteLine(myDouble); // Salidas 9
Casting explícito
La conversión explícita debe realizarse manualmente colocando el tipo entre paréntesis delante del valor:
Ejemplo
double myDouble = 9.78;
int myInt = (int) myDouble; // Lanzamiento manual: doble a int
Console.WriteLine(myDouble); // Salidas 9.78
Console.WriteLine(myInt); // Salidas 9
Métodos de conversión de tipos
También es posible convertir tipos de datos explícitamente utilizando métodos integrados, como Convert.ToBoolean
, Convert.ToDouble
, Convert.ToString
, Convert.ToInt32
(int
) y Convert.ToInt64
(long
):
Ejemplo
int myInt = 10;
double myDouble = 5.25;
bool myBool = true;
Console.WriteLine(Convert.ToString(myInt)); // convertir int a string
Console.WriteLine(Convert.ToDouble(myInt)); // convertir int a double
Console.WriteLine(Convert.ToInt32(myDouble)); // convertir double a int
Console.WriteLine(Convert.ToString(myBool)); // convertir bool a string
¿Por qué la conversión?
Muchas veces, no es necesario realizar una conversión de tipo. Pero a veces hay que hacerlo. Eche un vistazo al siguiente capítulo, cuando trabaje con entrada del usuario, para ver un ejemplo de esto.