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 Long diferente (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 nuevo Integer Long Visual Basic código.

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

  • Caracteres de tipo. Al agregar el carácter de tipo literal L a un literal, el tipo de datos se convierte forzosamente en el tipo de datos Long. Si se agrega el carácter de tipo identificador & a cualquier identificador, se convierte forzosamente al tipo Long.

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

Consulta también