Compartir a través de


uint (Referencia de C#)

Actualización: noviembre 2007

La palabra clave uint denota un tipo de integral que almacena valores según el tamaño y el intervalo que se indican en la tabla siguiente.

Tipo

Intervalo

Tamaño

Tipo de .NET Framework

uint

0 a 4.294.967.295

Entero de 32 bits sin signo

System.UInt32

Nota   El tipo uint no es conforme con CLS. Siempre que sea posible, utilice int.

Literales

Las variables de tipo uint se pueden declarar e inicializar como en el siguiente ejemplo:

uint myUint = 4294967290;

Cuando un literal entero no tiene sufijo, su tipo es el primero de estos tipos en el que se puede representar su valor: int, uint, long, ulong. En este ejemplo, es uint:

uint uInt1 = 123;

También se puede utilizar el sufijo u o U:

uint uInt2 = 123U;

Cuando se utiliza el sufijo U o u, el tipo del literal puede ser uint o ulong según el valor numérico del literal. Por ejemplo:

Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());

Este código muestra System.UInt32, seguido de System.UInt64 (los tipos subyacentes de uint y ulong, respectivamente), porque el segundo literal es demasiado grande para que lo almacene el tipo uint.

Conversiones

Existe una conversión implícita predefinida de uint a long, ulong, float, double o decimal. Por ejemplo:

float myFloat = 4294967290;   // OK: implicit conversion to float

Existe una conversión implícita predefinida de byte, ushort o char a uint. En cualquier otro caso, se debe utilizar una conversión explícita. Por ejemplo, la instrucción de asignación siguiente genera un error de compilación si no se emplea una conversión explícita:

long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong; 
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;

Observe que no existe conversión implícita de tipos de punto flotante a uint. Por ejemplo, la instrucción siguiente generará un error de compilación, a menos que se utilice una conversión explícita:

// Error -- no implicit conversion from double:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0; 

Para obtener información acerca de las expresiones aritméticas con tipos de punto flotante y tipos integrales, consulte float (Referencia de C#) y double (Referencia de C#).

Para obtener más información acerca de reglas de conversión numéricas implícitas, consulte Tabla de conversiones numéricas implícitas (Referencia de C#).

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 1.3 Tipos y variables

  • 4.1.5 Tipos integrales

Vea también

Conceptos

Guía de programación de C#

Referencia

Palabras clave de C#

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

Tabla de tipos integrados (Referencia de C#)

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

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

UInt32

Otros recursos

Referencia de C#