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


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 azt Short az új Visual Basic-kód helyett Integer .

  • Szélesedő. Az Integer adattípus a következőre Longszélesedik: , Decimalvagy SingleDouble. Ez azt jelenti, hogy hiba nélkül konvertálhat Integer 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íti Integer . 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  

Lásd még