Está en la página 1de 3

Las conversiones de tipo de datos que hay en C# son las siguientes:

Conversiones Implícitas: Permite convertir el tipo de dato en otro de manera segura.

 Conversión de entero pequeño a entero grande


int entero= 12;
long enteroGrande = entero;

 Connversión de flotante de precisión simple a flotante de precisión doble


float flotante = 4.18f;
double flotanteDoble = flotante

 Conversión de carácter a entero


char caracter = 'D';
int codigoUnicode = caracter;

Conversiones explícitas: En este tipo de conversiones se utiliza el casteo o casting.

 Conversión de flotante de precisión doble a entero


double numero = 2.72;
int numeroEntero = (int)numero;

 Conversión de entero grande a entero pequeño con posible pérdida de dato


long entero = 2000;
int enteroPequeño = (int)entero;

 Conversión de cadena (string) a entero, requerida porque los tipos son diferentes
string cadena = "20";
int numero = int.Parse(cadena);
Conversiones definidas por el usuario: En esta conversión se implementan métodos de
conversión entre tipo de datos personalizados.

 Conversión de una clase personalizada a una cadena (string):


public class Persona
{
public string Nombre { get; }
public Persona(string nombre) => Nombre = nombre;

public static implicit operator string(Persona persona) => persona.Nombre;


}

 Conversión de una estructura personalizada a un tipo numérico:


public struct Punto
{
public int X { get; }
public int Y { get; }
public Punto(int x, int y) => (X, Y) = (x, y);

public static explicit operator int(Punto punto) => punto.X + punto.Y;


}

 Conversión entre tipos personalizados


public class Temperatura
{
public double GradosCelsius { get; }
public Temperatura(double grados) => GradosCelsius = grados;

public static explicit operator Fahrenheit(Temperatura temp) =>


new Fahrenheit((temp.GradosCelsius * 9 / 5) + 32);
}
public class Fahrenheit
{
public double GradosFahrenheit { get; }
public Fahrenheit(double grados) => GradosFahrenheit = grados;

public static implicit operator Temperatura(Fahrenheit f) =>


new Temperatura((f.GradosFahrenheit - 32) * 5 / 9);
}
Conversiones con clases del asistente: Permiten convertir datos de un tipo a otro

 Conversión de una cadena a un número entero utilizando


string cadena = "72";
int numero = Int32.Parse(cadena);

 Conversión de un número entero a una cadena utilizando el método


int numero = 85;
string cadenaNumero = numero.ToString();

 Conversión de una cadena hexadecimal a un valor numérico


string hex = "1D";
int decimalValue = System.Convert.ToInt32(hex, 16);

También podría gustarte