Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bevat niet-ondertekende 64-bits gehele getallen (8-bytes) variërend van 0 tot en met 18.446.744.073.709.551.615 (meer dan 1,84 keer 10 ^ 19).
Opmerkingen
Gebruik het ULong gegevenstype om binaire gegevens te groot te bevatten voor UIntegerof de grootst mogelijke niet-ondertekende gehele getallen.
De standaardwaarde is ULong 0.
Letterlijke toewijzingen
U kunt een ULong variabele declareren en initialiseren door deze toe te wijzen aan een letterlijke waarde voor decimalen, een hexadecimale letterlijke waarde, een octale letterlijke waarde of (te beginnen met Visual Basic 2017). Als de letterlijke waarde van het gehele getal buiten het bereik valt ULong (dat wil gezegd, als het kleiner is dan UInt64.MinValue of groter is dan UInt64.MaxValue, treedt er een compilatiefout op.
In het volgende voorbeeld worden gehele getallen die gelijk zijn aan 7.934.076.125 die worden weergegeven als decimale, hexadecimale en binaire letterlijke waarden toegewezen aan ULong waarden.
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
Notitie
U gebruikt het voorvoegsel &h of &H om een hexadecimale letterlijke waarde, het voorvoegsel of &b om een binaire letterlijke waarde aan te geven, en het voorvoegsel &B&o of &O om een octale letterlijke waarde aan te geven. Letterlijke decimalen hebben geen voorvoegsel.
Vanaf Visual Basic 2017 kunt u ook het onderstrepingsteken gebruiken, _als scheidingsteken voor cijfers om de leesbaarheid te verbeteren, zoals in het volgende voorbeeld wordt weergegeven.
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
Vanaf Visual Basic 15.5 kunt u het onderstrepingsteken (_) ook gebruiken als voorloopscheidingsteken tussen het voorvoegsel en de hexadecimale, binaire of octale cijfers. Voorbeeld:
Dim number As ULong = &H_F9AC_0326_1489_D68C
Als u het onderstrepingsteken wilt gebruiken als scheidingsteken voor voorloop, moet u het volgende element toevoegen aan het Visual Basic-project (*.vbproj)-bestand:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Zie De visual Basic-taalversie selecteren voor meer informatie.
Numerieke letterlijke waarden kunnen ook het UL teken of ulhet type bevatten om het ULong gegevenstype aan te geven, zoals in het volgende voorbeeld wordt weergegeven.
Dim number = &H_00_00_0A_96_2F_AC_14_D7ul
Programmeertips
Negatieve getallen. Omdat
ULongdit een niet-ondertekend type is, kan het geen negatief getal vertegenwoordigen. Als u de unaire minteken -operator (-) gebruikt voor een expressie die wordt geëvalueerd om te typenULong, converteert Visual Basic de expressie eerst naarDecimal.CLS-naleving. Het
ULonggegevenstype maakt geen deel uit van de Common Language Specification (CLS), dus cls-compatibele code kan geen onderdeel verbruiken dat het gebruikt.Overwegingen voor interoperabiliteit. Als u verbinding maakt met onderdelen die niet zijn geschreven voor .NET Framework, bijvoorbeeld Automation- of COM-objecten, moet u er rekening mee houden dat typen zoals
ulongeen andere gegevensbreedte (32 bits) in andere omgevingen kunnen hebben. Als u een 32-bits argument doorgeeft aan een dergelijk onderdeel, declareert u dit alsUIntegerin plaats vanULongin uw beheerde Visual Basic-code.Verbreding. Het
ULonggegevenstype wordt uitgebreid totDecimal,SingleenDouble. Dit betekent dat u kunt converterenULongnaar een van deze typen zonder dat er een System.OverflowException fout optreedt.Typ tekens. Als u de letterlijke typetekens
ULtoevoegt aan een letterlijke tekens, wordt dit gedwongen aan hetULonggegevenstype.ULongheeft geen id-type teken.Type framework. Het bijbehorende type in .NET Framework is de System.UInt64 structuur.