Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Innehåller osignerade 64-bitars heltal (8 byte) som sträcker sig i värde från 0 till 18 446 744 073 709 551 615 (mer än 1,84 gånger 10 ^ 19).
Kommentarer
              ULong Använd datatypen för att innehålla binära data som är för stora för UInteger, eller största möjliga osignerade heltalsvärden.
Standardvärdet ULong för är 0.
Literaltilldelningar
Du kan deklarera och initiera en ULong variabel genom att tilldela den en decimalliteral, en hexadecimal literal, en oktal literal eller (från och med Visual Basic 2017) en binär literal. Om heltalsliteralen ligger utanför intervallet ULong (dvs. om det är mindre än eller större än UInt64.MinValueUInt64.MaxValue, uppstår ett kompileringsfel.
I följande exempel tilldelas heltal som är lika med 7 934 076 125 som representeras som decimaler, hexadecimala och binära literaler till ULong värden.
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
Kommentar
Du använder prefixet &h eller &H för att ange en hexadecimal literal, prefixet &b eller &B för att ange en binär literal och prefixet &o eller &O för att ange en oktal literal. Decimalliteraler har inget prefix.
Från och med Visual Basic 2017 kan du också använda understreckstecknet, , _som en sifferavgränsare för att förbättra läsbarheten, vilket visas i följande exempel.
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
Från och med Visual Basic 15.5 kan du också använda understreckstecknet (_) som en inledande avgränsare mellan prefixet och hexadecimala, binära eller oktala siffror. Till exempel:
Dim number As ULong = &H_F9AC_0326_1489_D68C
Om du vill använda understreckstecknet som en inledande avgränsare måste du lägga till följande element i visual basic-projektfilen (*.vbproj):
<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>
Mer information finns i Välj språkversion för Visual Basic.
Numeriska literaler kan också innehålla UL tecknet eller ultypen för att ange ULong datatypen, vilket visas i följande exempel.
Dim number = &H_00_00_0A_96_2F_AC_14_D7ul
Programmeringstips
Negativa tal. Eftersom
ULongdet är en osignerad typ kan den inte representera ett negativt tal. Om du använder operatorn unary minus (-) för ett uttryck som utvärderas för att skrivaULongkonverterar Visual Basic uttrycket tillDecimalförst.CLS-efterlevnad. Datatypen
ULongär inte en del av CLS (Common Language Specification ), så CLS-kompatibel kod kan inte använda en komponent som använder den.Interop-överväganden. Om du interagerar med komponenter som inte är skrivna för .NET Framework, till exempel Automation- eller COM-objekt, bör du tänka på att typer som
ulongkan ha en annan databredd (32 bitar) i andra miljöer. Om du skickar ett 32-bitarsargument till en sådan komponent deklarerar du det somUIntegeri stället förULongi din hanterade Visual Basic-kod.Breddning. Datatypen
ULongbreddas tillDecimal,SingleochDouble. Det innebär att du kan konverteraULongtill någon av dessa typer utan att det uppstår något System.OverflowException fel.Skriv tecken. Om du lägger till tecken av
ULtypen literal till en literal så tvingar det tillULongdatatypen.ULonghar inget tecken av identifierartyp.Ramverkstyp. Motsvarande typ i .NET Framework är System.UInt64 strukturen.