Delen via


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 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 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 typen ULong, converteert Visual Basic de expressie eerst naar Decimal .

  • 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 als UInteger in plaats van ULong in uw beheerde Visual Basic-code.

  • Verbreding. Het ULong gegevenstype wordt uitgebreid tot Decimal, Singleen Double. Dit betekent dat u kunt converteren ULong 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 het ULong gegevenstype. ULong heeft geen id-type teken.

  • Type framework. Het bijbehorende type in .NET Framework is de System.UInt64 structuur.

Zie ook