ULong-gegevenstype (Visual Basic)
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 UInteger
of 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 ul
het 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
ULong
dit 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
ULong
gegevenstype 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
ulong
een andere gegevensbreedte (32 bits) in andere omgevingen kunnen hebben. Als u een 32-bits argument doorgeeft aan een dergelijk onderdeel, declareert u dit alsUInteger
in plaats vanULong
in uw beheerde Visual Basic-code.Verbreding. Het
ULong
gegevenstype wordt uitgebreid totDecimal
,Single
enDouble
. Dit betekent dat u kunt converterenULong
naar een van deze typen zonder dat er een System.OverflowException fout optreedt.Typ tekens. Als u de letterlijke typetekens
UL
toevoegt aan een letterlijke tekens, wordt dit gedwongen aan hetULong
gegevenstype.ULong
heeft geen id-type teken.Type framework. Het bijbehorende type in .NET Framework is de System.UInt64 structuur.