Ganzzahliger Datentyp (Visual Basic)

Speichert 32-Bit-(4-Byte-)Ganzzahlen mit Vorzeichen, deren Werte sich im Bereich von -2.147.483.648 bis einschließlich 2.147.483.647 bewegen.

Bemerkungen

Der Integer-Datentyp bietet in Verbindung mit einem 32-Bit-Prozessor eine optimale Leistung. Die anderen ganzzahligen Typen werden langsamer in den Arbeitsspeicher geladen und im Arbeitsspeicher gespeichert bzw. langsamer aus dem Arbeitsspeicher geladen.

Der Standardwert von Integer lautet 0.

Literale Zuordnungen

Sie können eine Integer Variable deklarieren und initialisieren, indem Sie sie einem dezimalen Literal, einem hexadezimalen Literal, einem oktalen Literal oder (beginnend mit Visual Basic 2017) einem binären Literal zuweisen. Wenn Sich das Ganzzahlliteral außerhalb des Bereichs von Integer befindet – sprich, wenn es kleiner als Int32.MinValue oder größer als Int32.MaxValue ist – tritt ein Kompilierfehler auf.

Im folgenden Beispiel werden Ganzzahlen wie 90.946, die als dezimale, hexadezimale und binäre Literale dargestellt werden, den Integer-Werten zugewiesen.

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

Hinweis

Sie verwenden das Präfix oder &H zum Kennzeichnen eines Hexadezimalliterals, des Präfixes &b oder &B zum Kennzeichnen eines binären Literals und des Präfixes &h&o oder &O zum Kennzeichnen eines oktalen Literals. Dezimale Literale haben kein Präfix.

Ab Visual Basic 2017 können Sie auch das Unterstrichzeichen , _als Zifferntrennzeichen verwenden, um die Lesbarkeit zu verbessern, wie im folgenden Beispiel gezeigt.

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

Ab Visual Basic 15.5 können Sie auch das Unterstrichzeichen (_) als führendes Trennzeichen zwischen dem Präfix und der hexadezimalen, binären oder oktalen Ziffern verwenden. Beispiel:

Dim number As Integer = &H_C305_F860

Um das Unterstrichzeichen als führendes Trennzeichen zu verwenden, müssen Sie dem Visual Basic Projektdatei (*.vbproj) das folgende Element hinzufügen:

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Weitere Informationen finden Sie unter "Auswählen der Visual Basic Sprachversion".

Numerische Literale können auch das ITypzeichen enthalten, um den Integer Datentyp zu kennzeichnen, wie das folgende Beispiel zeigt.

Dim number = &H_035826I

Programmiertipps

  • Interop-Überlegungen. Wenn Sie für die .NET Framework nicht geschriebene Komponenten interfacieren, z. B. Automatisierungs- oder COM-Objekte, denken Sie daran, dass Integer eine andere Datenbreite (16 Bit) in anderen Umgebungen vorhanden ist. Wenn Sie ein 16-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es im neuen Visual Basic-Code als Short und nicht als Integer.

  • Erweiterung. Der Integer-Datentyp wird zu Long, Decimal, Single oder Double erweitert. Dies bedeutet, dass Sie Integer in einen dieser Typen konvertieren können, ohne dass ein System.OverflowException-Fehler auftritt.

  • Typzeichen. Durch Anhängen des Literaltypzeichens I an ein Literal wird der Integer-Datentyp erzwungen. Durch Anhängen des Typkennzeichens % an einen beliebigen Bezeichner wird für diesen ebenfalls der Integer-Datentyp erzwungen.

  • Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.Int32-Struktur.

Range

Wenn Sie für eine Variable mit Ganzzahltyp eine Zahl festlegen, die außerhalb des Bereichs für diesen Typ liegt, tritt ein Fehler auf. Wenn Sie versuchen, sie auf einen Bruch festzulegen, wird die Zahl auf den nächsten ganzzahligen Wert auf- oder abgerundet. Wenn die Zahl zwei Ganzzahlwerten gleichermaßen nahe ist, wird der Wert auf die nächste gerade ganze Zahl gerundet. So werden Rundungsfehler reduziert, die sich beim einheitlichen Runden von in der Mitte liegenden Werten in nur eine Richtung ergeben. Der folgende Code zeigt Beispiele für eine Rundung.

' 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  

Weitere Informationen