Tipo de datos Long (Visual Basic)
Contiene enteros de 64 bits (8 bytes) con signo comprendidos entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807 (9,2...E+18).
Comentarios
Use el Long tipo de datos para contener números enteros que son demasiado grandes para caber en el tipo de Integer datos.
El valor predeterminado de Long es 0.
Asignaciones literales
Puede declarar e inicializar una variable asignándose un literal decimal, un literal hexadecimal, un literal octal o (a partir Long de Visual Basic 2017) un literal binario. Si el literal entero está fuera del intervalo de Long (es decir, si es inferior a Int64.MinValue o mayor que Int64.MaxValue, se produce un error de compilación.
En el ejemplo siguiente, los enteros que equivalen a 4 294 967 296 que se representan como literales binarios, hexadecimales y decimales se asignan a valores Long.
Dim longValue1 As Long = 4294967296
Console.WriteLine(longValue1)
Dim longValue2 As Long = &H100000000
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
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 hexadecimales, binarios o _ octales. Por ejemplo:
Dim number As Long = &H_0FAC_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 L carácter de tipo para indicar el tipo Long de datos, como se muestra en el ejemplo siguiente.
Dim number = &H_0FAC_0326_1489_D68CL
sugerencias de programación
Consideraciones de interoperabilidad. Si está interfiriendo con componentes que no están escritos para el .NET Framework, por ejemplo, automation u objetos COM, recuerde que tiene un ancho de datos
Longdiferente (32 bits) en otros entornos. Si va a pasar un argumento de 32 bits a este tipo de componente, declaro como en lugar de en el nuevoIntegerLongVisual Basic código.Ampliación. El
Longtipo de datos se amplía a , oDecimalSingleDouble. Esto significa que puede convertir un tipo de datosLongen cualquiera de estos tipos sin que se produzca un error System.OverflowException.Caracteres de tipo. Al agregar el carácter de tipo literal
La un literal, el tipo de datos se convierte forzosamente en el tipo de datosLong. Si se agrega el carácter de tipo identificador&a cualquier identificador, se convierte forzosamente al tipoLong.Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Int64.