Tabla de conversiones numéricas implícitas (Referencia de C#)

Actualización: noviembre 2007

La tabla siguiente muestra las conversiones numéricas implícitas predefinidas. Las conversiones implícitas se pueden dar en muchas ocasiones, incluidas la invocación a métodos y las instrucciones de asignación.

De

A

sbyte

short, int, long, float, double o decimal

byte

short, ushort, int, uint, long, ulong, float, double o decimal

short

int, long, float, double o decimal

ushort

int, uint, long, ulong, float, double o decimal

int

long, float, double o decimal

uint

long, ulong, float, double o decimal

long

float, double o decimal

char

ushort, int, uint, long, ulong, float, double o decimal

float

double

ulong

float, double o decimal

Comentarios

  • Las conversiones de int, uint o long a float y de long a double pueden causar una pérdida de precisión, pero no una pérdida de magnitud.

  • No existen conversiones implícitas al tipo char.

  • No hay ninguna conversión implícita entre los tipos de punto flotante y el tipo decimal.

  • Una expresión constante de tipo int se puede convertir a sbyte, byte, short, ushort, uint o ulong, siempre que el valor de la expresión constante quede dentro del intervalo del tipo de destino.

Especificación del lenguaje C#

Para obtener más información, vea la especificación del lenguaje C# (Especificación del lenguaje C#):

  • 6.1 Conversiones implícitas

  • 7.15 Expresiones constantes

Vea también

Conceptos

Guía de programación de C#

Referencia

Tabla de tipos integrales (Guía de programación de C#)

Tabla de tipos integrados (Referencia de C#)

Tabla de conversiones numéricas explícitas (Referencia de C#)

Otros recursos

Referencia de C#