Egész adattípus (Visual Basic)
A -2 147 483 648 és 2 147 483 647 közötti értéktartományú aláírt 32 bites (4 bájtos) egész számokat tárolja.
Megjegyzések
Az Integer
adattípus optimális teljesítményt nyújt egy 32 bites processzoron. A többi integrált típus lassabban töltődik be és tárolható a memóriából és a memóriából.
Az alapértelmezett érték Integer
0.
Konstans hozzárendelések
A Integer
változók deklarálhatók és inicializálhatók ú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 Integer
(vagyis kisebb vagy nagyobb, mint Int32.MinValue Int32.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 90 946-os egész számok vannak hozzárendelve az értékekhez Integer
.
Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
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 intValue1 As Integer = 90_946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
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 Integer = &H_C305_F860
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 I
adattípus jelölésére Integer
szolgáló típus karaktert is tartalmazhatják, ahogyan az az alábbi példában is látható.
Dim number = &H_035826I
Programozási tippek
Interop szempontok. Ha a .NET-keretrendszer nem írt összetevőkkel , például Automation- vagy COM-objektumokkal kommunikál, ne feledje, hogy
Integer
más környezetekben eltérő az adatszélesség (16 bit). Ha egy 16 bites argumentumot ad át egy ilyen összetevőnek, deklarálja aztShort
az új Visual Basic-kód helyettInteger
.Szélesedő. Az
Integer
adattípus a következőreLong
szélesedik: ,Decimal
vagySingle
Double
. Ez azt jelenti, hogy hiba nélkül konvertálhatInteger
bármelyik típusra System.OverflowException .Írja be a karaktereket. Ha a literál típusú karaktert
I
hozzáfűzi egy literálhoz, az az adattípushoz kényszerítiInteger
. Ha hozzáfűzi az azonosítótípus karakterét%
az azonosítóhoz, az arra kényszeríti.Integer
Keretrendszer típusa. A .NET-keretrendszer megfelelő típusa a System.Int32 struktúra.
Tartomány
Ha egy integrál típusú változót az adott típus tartományán kívüli számra próbál beállítani, hiba történik. Ha törtre próbálja beállítani, a szám felfelé vagy lefelé kerekítve lesz a legközelebbi egész számra. Ha a szám egyenlően közel van két egész számhoz, az érték a legközelebbi páros egész számra lesz kerekítve. Ez a viselkedés minimalizálja azokat a kerekítési hibákat, amelyek egy középponti érték egységes kerekítéséből erednek egyetlen irányban. Az alábbi kód példákat mutat be a kerekítésre.
' The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
' The following statement causes an error because the value is too large.
k = 2147483648
' The following statement sets k to 6.
k = 5.9
' The following statement sets k to 4
k = 4.5
' The following statement sets k to 6
' Note, Visual Basic uses banker’s rounding (toward nearest even number)
k = 5.5