Tipo de datos ULong (Visual Basic)
Contiene enteros de 64 bits (8 bytes) sin signo que oscilan entre 0 y 18 446 744 073 709 551 615 (más de 1,84 veces 10 ^ 19).
Comentarios
Use el tipo de datos para contener datos binarios demasiado grandes para o los valores enteros sin signo más grandes ULong UInteger posibles.
El valor predeterminado de ULong es 0.
Asignaciones literales
Puede declarar e inicializar una variable asignándose un literal decimal, un literal hexadecimal, un literal octal o (a partir ULong de Visual Basic 2017) un literal binario. Si el literal entero está fuera del intervalo de ULong (es decir, si es inferior a UInt64.MinValue o mayor que UInt64.MaxValue, se produce un error de compilación.
En el ejemplo siguiente, los enteros que equivalen a 7 934 076 125 que se representan como literales binarios, hexadecimales y decimales se asignan a valores ULong.
Dim ulongValue1 As ULong = 7934076125
Console.WriteLine(ulongValue1)
Dim ulongValue2 As ULong = &H0001D8e864DD
Console.WriteLine(ulongValue2)
Dim ulongValue3 As ULong = &B0001_1101_1000_1110_1000_0110_0100_1101_1101
Console.WriteLine(ulongValue3)
' The example displays the following output:
' 7934076125
' 7934076125
' 7934076125
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 longValue1 As Long = 4_294_967_296
Console.WriteLine(longValue1)
Dim longValue2 As Long = &H1_0000_0000
Console.WriteLine(longValue2)
Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
' 4294967296
' 4294967296
' 4294967296
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 hexadecimal, binario o _ octal. Por ejemplo:
Dim number As ULong = &H_F9AC_0326_1489_D68C
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 UL en el ejemplo ul ULong siguiente.
Dim number = &H_00_00_0A_96_2F_AC_14_D7ul
sugerencias de programación
Números negativos. Dado
ULongque 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 primerULongDecimallugar.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
ULongpuede consumir un componente que lo use.Consideraciones de interoperabilidad. Si está interfacing 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
ulongdiferente (32 bits) en otros entornos. Si va a pasar un argumento de 32 bits a este tipo de componente, declare como en lugar de en el código de Visual BasicUIntegerULongadministrado.Ampliación. El
ULongtipo de datos se amplía a , yDecimalSingleDouble. Esto significa que puede convertirULonga cualquiera de estos tipos sin encontrar un System.OverflowException error.Caracteres de tipo. Anexar los caracteres de tipo literal
ULa un literal lo fuerza al tipo deULongdatos.ULongno tiene ningún carácter de tipo identificador.Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.UInt64.