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
UIntegerque 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 primerUIntegerLonglugar.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
UIntegerconsumir 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
uintdiferente (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 BasicUShortUIntegeradministrado.Ampliación. El
UIntegertipo de datos se amplía a , , , yLongULongDecimalSingleDouble. Esto significa que puede convertirUIntegera cualquiera de estos tipos sin encontrar un System.OverflowException error.Caracteres de tipo. Anexar los caracteres de tipo literal
UIa un literal lo fuerza al tipo deUIntegerdatos.UIntegerno tiene ningún carácter de tipo identificador.Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.UInt32.