UInteger (tipo de datos)

Contiene enteros de 32 bits (4 bytes) sin signo que oscilan entre 0 y 4.294.967.295.

Comentarios

El UInteger tipo de datos proporciona el mayor valor sin signo en el ancho de datos más eficaz.

El valor predeterminado de UInteger es 0.

Asignaciones literales

Puede declarar e inicializar una variable asignándose un literal decimal, un literal hexadecimal, un literal octal o (a partir UInteger de Visual Basic 2017) un literal binario. Si el literal entero está fuera del intervalo de UInteger (es decir, si es inferior a UInt32.MinValue o mayor que UInt32.MaxValue, se produce un error de compilación.

En el ejemplo siguiente, los enteros que equivalen a 3 000 000 000 que se representan como literales binarios, hexadecimales y decimales se asignan a valores UInteger.

Dim uintValue1 As UInteger = 3000000000ui
Console.WriteLine(uintValue1)

Dim uintValue2 As UInteger = &HB2D05E00ui
Console.WriteLine(uintValue2)

Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
'          3000000000
'          3000000000
'          3000000000

Nota

Use el prefijo o para denotar un literal hexadecimal, el prefijo o para denotar un literal binario, y el prefijo o para &h &H denotar un literal &b &B &o &O octal. Los literales decimales no tienen prefijo.

A partir Visual Basic 2017, también puede usar el carácter de subrayado, , como separador de dígitos para mejorar la legibilidad, como se muestra en el _ ejemplo siguiente.

Dim uintValue1 As UInteger = 3_000_000_000ui
Console.WriteLine(uintValue1)

Dim uintValue2 As UInteger = &HB2D0_5E00ui
Console.WriteLine(uintValue2)

Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
'          3000000000
'          3000000000
'          3000000000

A partir Visual Basic 15.5, también puede usar el carácter de subrayado ( ) como separador inicial entre el prefijo y los dígitos hexadecimales, binarios o _ octales. Por ejemplo:

Dim number As UInteger = &H_0F8C_0326

Para usar el carácter de subrayado como separador inicial, debe agregar el elemento siguiente al archivo del proyecto de Visual Basic (*.vbproj):

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Para obtener más información, vea Select the Visual Basic language version (Seleccionar Visual Basic versión de idioma).

Los literales numéricos también pueden incluir el carácter de tipo o para indicar el tipo de datos, como se muestra UI en el ejemplo ui UInteger siguiente.

Dim number = &H_0FAC_14D7ui

sugerencias de programación

Los tipos de datos y proporcionan un rendimiento óptimo en un procesador de UInteger 32 bits, ya que los tipos enteros más pequeños ( , , y ), aunque usan menos bits, necesitan más tiempo para cargar, almacenar y Integer UShort Short Byte SByte capturar.

  • Números negativos. Dado UInteger que es un tipo sin signo, no puede representar un número negativo. Si usa el operador unario menos ( ) en una expresión que se evalúa como de tipo , Visual Basic convierte - la expresión en primer UInteger Long lugar.

  • Conformidad con CLS. El tipo de datos no forma parte del Common Language Specification (CLS), por lo que el código conforme a CLS no puede UInteger consumir un componente que lo use.

  • Consideraciones de interoperabilidad. Si está interfiriendo con componentes que no están escritos para el .NET Framework, por ejemplo, automation u objetos COM, tenga en cuenta que tipos como pueden tener un ancho de datos uint diferente (16 bits) en otros entornos. Si va a pasar un argumento de 16 bits a este tipo de componente, declare como en lugar de en el código de Visual Basic UShort UInteger administrado.

  • Ampliación. El UInteger tipo de datos se amplía a , , , y Long ULong Decimal Single Double . Esto significa que puede convertir UInteger a cualquiera de estos tipos sin encontrar un System.OverflowException error.

  • Caracteres de tipo. Anexar los caracteres de tipo literal UI a un literal lo fuerza al tipo de UInteger datos. UInteger no tiene ningún carácter de tipo identificador.

  • Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.UInt32.

Consulta también