Megosztás a következőn keresztül:


ULong-adattípus (Visual Basic)

0 és 18 446 744 073 709 551 615 közötti (több mint 1,84-szer 10 ^ 19) értékű, aláíratlan 64 bites (8 bájtos) egész számokat tartalmaz.

Megjegyzések

ULong Az adattípussal olyan bináris adatokat tartalmazhat, amelyek túl nagyok UIntegeraz , vagy a legnagyobb lehetséges aláíratlan egész számértékekhez.

Az alapértelmezett érték ULong 0.

Konstans hozzárendelések

A változók deklarálhatók és inicializálhatók ULong úgy, hogy decimális literált, hexadecimális literált, oktális literált vagy (a Visual Basic 2017-től kezdődően) bináris literált rendelnek hozzá. Ha az egész szám konstansa kívül esik a tartományon ULong (vagyis kisebb vagy nagyobb, mint UInt64.MinValue UInt64.MaxValue), fordítási hiba lép fel.

Az alábbi példában az értékekhez 7 934 076 125 egész szám tartozik, amelyek decimális, hexadecimális és bináris literálként vannak jelölve ULong .

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

Feljegyzés

Az előtagot &h vagy &H egy hexadecimális literált, az előtagot &b vagy &B egy bináris literál jelölését, valamint az előtagot &o vagy &O egy oktális literál jelölését használhatja. A tizedes literálok nem rendelkeznek előtaggal.

A Visual Basic 2017-től kezdve az aláhúzásjelet is használhatja számjegyelválasztóként _az olvashatóság javítása érdekében, ahogy az alábbi példa is mutatja.

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 Visual Basic 15.5-től kezdve az aláhúzásjelet (_) is használhatja vezető elválasztóként az előtag és a hexadecimális, bináris vagy oktális számjegyek között. Példa:

Dim number As ULong = &H_F9AC_0326_1489_D68C

Ha az aláhúzásjelet vezető elválasztóként szeretné használni, a következő elemet kell hozzáadnia a Visual Basic-projektfájlhoz (*.vbproj):

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

További információ: A Visual Basic nyelvi verziójának kiválasztása.

A numerikus literálok az adattípus jelölésére ULong szolgáló karaktert is ul tartalmazhatjákUL, ahogyan az az alábbi példában is látható.

Dim number = &H_00_00_0A_96_2F_AC_14_D7ul

Programozási tippek

  • Negatív számok. Mivel ULong nem aláírt típus, nem jelölhet negatív számot. Ha a unary minus (-) operátort egy olyan kifejezésen használja, amely kiértékeli a beírást ULong, a Visual Basic először átalakítja a kifejezést Decimal .

  • CLS-megfelelőség. Az ULong adattípus nem része a Common Language Specification (CLS)-nek, ezért a CLS-kompatibilis kód nem tud olyan összetevőt használni, amely azt használja.

  • Interop szempontok. Ha nem a .NET-keretrendszer írt összetevőkkel , például Automation- vagy COM-objektumokkal foglalkozik, vegye figyelembe, hogy más ulong környezetekben eltérő adatszélesség (32 bit) is lehet. Ha egy 32 bites argumentumot ad át egy ilyen összetevőnek, deklarálja azt UInteger a felügyelt Visual Basic-kód helyett ULong .

  • Szélesedő. Az ULong adattípus a következőre szélesedik: Decimal, Singleés Double. Ez azt jelenti, hogy bármilyen ilyen típusra konvertálhat ULong anélkül, hogy hiba merült fel System.OverflowException .

  • Írja be a karaktereket. Ha a literál típusú karaktereket UL hozzáfűzi egy literálhoz, az az adattípushoz kényszeríti.ULong ULong nincs azonosítótípus-karakter.

  • Keretrendszer típusa. A .NET-keretrendszer megfelelő típusa a System.UInt64 struktúra.

Lásd még