UInteger adattípus

0 és 4 294 967 295 közötti értéktartományú, 32 bites (4 bájtos) egész számokat tartalmaz.

Megjegyzések

Az UInteger adattípus a leghatékonyabb adatszélesség legnagyobb aláíratlan értékét biztosítja.

Az alapértelmezett érték UInteger 0.

Konstans hozzárendelések

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

A következő példában a 3 000 000 000 egész számmal egyenlő egész számok decimális, hexadecimális és bináris literálként vannak hozzárendelve az értékekhez UInteger .

Dim uintValue1 As UInteger = 3000000000ui
Console.WriteLine(uintValue1)

Dim uintValue2 As UInteger = &HB2D05E00ui
Console.WriteLine(uintValue2)

Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
'          3000000000
'          3000000000
'          3000000000

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 uintValue1 As UInteger = 3_000_000_000ui
Console.WriteLine(uintValue1)

Dim uintValue2 As UInteger = &HB2D0_5E00ui
Console.WriteLine(uintValue2)

Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
'          3000000000
'          3000000000
'          3000000000

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 UInteger = &H_0F8C_0326

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 UInteger szolgáló karaktert isui tartalmazhatjákUI, ahogyan az az alábbi példában is látható.

Dim number = &H_0FAC_14D7ui

Programozási tippek

Az UInteger és Integer az adattípusok optimális teljesítményt nyújtanak a 32 bites processzorokon, mivel a kisebb egész számok (UShort, Short, Byteés SByte) annak ellenére, hogy kevesebb bitet használnak, több időt vesz igénybe a betöltés, a tárolás és a beolvasás.

  • Negatív számok. Mivel UInteger 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 UInteger, a Visual Basic először átalakítja a kifejezést Long .

  • CLS-megfelelőség. Az UInteger 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 uint környezetekben eltérő adatszélesség (16 bit) lehet. Ha egy 16 bites argumentumot ad át egy ilyen összetevőnek, deklarálja azt UShort a felügyelt Visual Basic-kód helyett UInteger .

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

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

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

Lásd még