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


Hosszú adattípus (Visual Basic)

Az aláírt 64 bites (8 bájtos) egész számokat a -9 223 372 036 854 775 808 és 9 223 372 036 854 775 807 közötti értékben tárolja (9,2...E+18).

Megjegyzések

Long Az adattípussal olyan egész számokat tartalmazhat, amelyek túl nagyok ahhoz, hogy elférjenek az Integer adattípusban.

Az alapértelmezett érték Long 0.

Konstans hozzárendelések

A változók deklarálhatók és inicializálhatók Long ú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 Long (vagyis kisebb vagy nagyobb, mint Int64.MinValue Int64.MaxValue), fordítási hiba lép fel.

Az alábbi példában a decimális, hexadecimális és bináris literálként ábrázolt 4 294 967 296-os egész számok vannak hozzárendelve az értékekhez Long .

Dim longValue1 As Long = 4294967296
Console.WriteLine(longValue1)

Dim longValue2 As Long = &H100000000
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

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 Long = &H_0FAC_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 L adattípus jelölésére Long szolgáló típus karaktert is tartalmazhatják, ahogyan az az alábbi példában is látható.

Dim number = &H_0FAC_0326_1489_D68CL

Programozási tippek

  • Interop szempontok. Ha nem a .NET-keretrendszer írt összetevőkkel , például Automation- vagy COM-objektumokkal kommunikál, ne feledje, hogy Long más környezetekben eltérő adatszélesség (32 bit) van. Ha egy 32 bites argumentumot ad át egy ilyen összetevőnek, deklarálja azt Integer az új Visual Basic-kód helyett Long .

  • Szélesedő. Az Long adattípus a következőre Decimalszélesedik: , Singlevagy Double. Ez azt jelenti, hogy hiba nélkül konvertálhat Long bármelyik típusra System.OverflowException .

  • Írja be a karaktereket. Ha a literál típusú karaktert L hozzáfűzi egy literálhoz, az az adattípushoz kényszeríti Long . Ha hozzáfűzi az azonosítótípus karakterét & az azonosítóhoz, az arra kényszeríti.Long

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

Lásd még