Tipo de dados longo (Visual Basic)
Contém inteiros assinados de 64 bits (8 bytes) que variam em valor de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 (9.2...E+18).
Observações
Use o Long
tipo de dados para conter números inteiros que são muito grandes para caber no Integer
tipo de dados.
O valor padrão de Long
é 0.
Atribuições literais
Você pode declarar e inicializar uma Long
variável atribuindo-lhe um literal decimal, um literal hexadecimal, um literal octal ou (a partir do Visual Basic 2017) um literal binário. Se o literal inteiro estiver fora do intervalo de (isto é, se for menor Int64.MinValue ou maior que Int64.MaxValue, ocorrerá um erro de Long
compilação.
No exemplo a seguir, inteiros iguais a 4.294.967.296 que são representados como literais decimais, hexadecimais e binários são atribuídos a Long
valores.
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
Você usa o prefixo &h
ou &H
para denotar um literal hexadecimal, o prefixo &b
ou &B
para denotar um literal binário e o prefixo &o
ou &O
para denotar um literal octal. Os literais decimais não têm prefixo.
A partir do Visual Basic 2017, você também pode usar o caractere de sublinhado, _
, como um separador de dígitos para melhorar a legibilidade, como mostra o exemplo a seguir.
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 do Visual Basic 15.5, você também pode usar o caractere de sublinhado (_
) como um separador à esquerda entre o prefixo e os dígitos hexadecimais, binários ou octais. Por exemplo:
Dim number As Long = &H_0FAC_0326_1489_D68C
Para usar o caractere de sublinhado como um separador à esquerda, você deve adicionar o seguinte elemento ao seu arquivo de projeto do Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para obter mais informações, consulte Selecione a versão da linguagem Visual Basic.
Os literais numéricos também podem incluir o L
caractere de tipo para denotar o Long
tipo de dados, como mostra o exemplo a seguir.
Dim number = &H_0FAC_0326_1489_D68CL
Dicas de programação
Considerações de interoperabilidade. Se você estiver fazendo interface com componentes não escritos para o .NET Framework, por exemplo, automação ou objetos COM, lembre-se de que
Long
tem uma largura de dados diferente (32 bits) em outros ambientes. Se você estiver passando um argumento de 32 bits para esse componente, declare-o comoInteger
em vez de em seu novo código doLong
Visual Basic.Alargamento. O
Long
tipo de dados é ampliado paraDecimal
,Single
, ouDouble
. Isso significa que você pode converterLong
para qualquer um desses tipos sem encontrar um System.OverflowException erro.Digite caracteres. Anexar o caractere
L
de tipo literal a um literal força-oLong
ao tipo de dados. Anexar o caractere&
de tipo de identificador a qualquer identificador força-o aLong
.Tipo de estrutura. O tipo correspondente no .NET Framework é a System.Int64 estrutura.