Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Contém inteiros não assinados de 64 bits (8 bytes) que variam em valor de 0 a 18.446.744.073.709.551.615 (mais de 1,84 vezes 10 ^ 19).
Observações
Use o ULong tipo de dados para conter dados binários muito grandes para UInteger, ou os maiores valores inteiros não assinados possíveis.
O valor padrão de ULong é 0.
Atribuições literais
Você pode declarar e inicializar uma ULong 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 ULong ou maior que UInt64.MinValue, ocorrerá um erro de UInt64.MaxValue compilação.
No exemplo a seguir, inteiros iguais a 7.934.076.125 que são representados como literais decimais, hexadecimais e binários são atribuídos a ULong valores.
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
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 ULong = &H_F9AC_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 UL caractere ou ultype para indicar o ULong tipo de dados, como mostra o exemplo a seguir.
Dim number = &H_00_00_0A_96_2F_AC_14_D7ul
Dicas de programação
Números negativos. Por
ULongser um tipo não assinado, não pode representar um número negativo. Se você usar o operador unary menos (-) em uma expressão que avalia para digitarULong, o Visual Basic converte a expressão emDecimalprimeiro.Conformidade CLS. O
ULongtipo de dados não faz parte da Common Language Specification (CLS), portanto, o código compatível com CLS não pode consumir um componente que o usa.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 tipos como
ulongpodem ter uma largura de dados diferente (32 bits) em outros ambientes. Se você estiver passando um argumento de 32 bits para esse componente, declare-o comoUIntegerem vez de em seu código gerenciado doULongVisual Basic.Alargamento. O
ULongtipo de dados é ampliado paraDecimal,SingleeDouble. Isso significa que você pode converterULongpara qualquer um desses tipos sem encontrar um System.OverflowException erro.Digite caracteres. Anexar os caracteres
ULde tipo literal a um literal força-oULongao tipo de dados.ULongnão tem caractere de tipo de identificador.Tipo de estrutura. O tipo correspondente no .NET Framework é a System.UInt64 estrutura.