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.MinValue UInt32.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 is ui
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ástUInteger
, a Visual Basic először átalakítja a kifejezéstLong
.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 aztUShort
a felügyelt Visual Basic-kód helyettUInteger
.Szélesedő. Az
UInteger
adattípus a következőre szélesedikLong
: ,ULong
,Decimal
,Single
ésDouble
. Ez azt jelenti, hogy bármilyen ilyen típusra konvertálhatUInteger
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.