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 UInteger
az , 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ástULong
, a Visual Basic először átalakítja a kifejezéstDecimal
.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 aztUInteger
a felügyelt Visual Basic-kód helyettULong
.Szélesedő. Az
ULong
adattípus a következőre szélesedik:Decimal
,Single
ésDouble
. Ez azt jelenti, hogy bármilyen ilyen típusra konvertálhatULong
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.