UInteger-Datentyp

Enthält 32-Bit-Ganzzahlen ohne Vorzeichen (4 Byte) im Bereich von 0 bis 4.294.967.295.

Bemerkungen

Der UInteger -Datentyp bietet den größten Wert ohne Vorzeichen in der effizientesten Datenbreite.

Der Standardwert von UInteger lautet 0.

Literalzuweisungen

Sie können eine Variable deklarieren und initialisieren, indem Sie ihr ein Dezimalliteral, ein Hexadezimalliteral, ein oktales Literal oder (ab Visual Basic 2017) ein binäres Literal UInteger zuweisen. Wenn Sich das Ganzzahlliteral außerhalb des Bereichs von UInteger befindet – sprich, wenn es kleiner als UInt32.MinValue oder größer als UInt32.MaxValue ist – tritt ein Kompilierfehler auf.

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

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

Hinweis

Sie verwenden das Präfix oder , um ein &h &H Hexadezimalliteral, das Präfix oder ein binäres Literal und das Präfix oder zu bezeichnen, um ein oktales &b &B Literal zu &o &O bezeichnen. Dezimale Literale haben kein Präfix.

Ab dem Visual Basic 2017 können Sie auch den Unterstrich als Zifferntrennzeichen verwenden, um die Lesbarkeit zu verbessern, wie im folgenden _ Beispiel gezeigt.

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

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

Dim number As UInteger = &H_0F8C_0326

Um den Unterstrich als vorangestelltes Trennzeichen verwenden zu können, müssen Sie Ihrer 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 - oder UI ui -Typzeichen enthalten, um den Datentyp zu bezeichnen, wie UInteger im folgenden Beispiel gezeigt.

Dim number = &H_0FAC_14D7ui

Programmiertipps

Die Datentypen und bieten eine optimale Leistung auf einem UInteger Integer 32-Bit-Prozessor, da die kleineren ganzzahligen Typen ( , , und ) mehr Zeit zum Laden, Speichern und Abrufen in Kauf nehmen, obwohl sie weniger Bits UShort Short Byte SByte verwenden.

  • Negative Zahlen. Da UInteger ein Typ ohne Vorzeichen ist, kann er keine negative Zahl darstellen. Wenn Sie den unären Minusoperator ( ) für einen Ausdruck verwenden, der als Typ ausgewertet wird, Visual Basic den Ausdruck zuerst - UInteger in Long konvertiert.

  • CLS-Kompatibilität. Der Datentyp ist nicht Teil der Common Language Specification UInteger (CLS), sodass CLS-kompatibler Code keine Komponente nutzen kann, die ihn verwendet.

  • Interop-Überlegungen. Wenn Sie mit Komponenten interfacieren, die nicht für die .NET Framework geschrieben wurden, z. B. Automation- oder COM-Objekte, denken Sie daran, dass Typen wie in anderen Umgebungen eine andere Datenbreite uint (16 Bit) haben können. Wenn Sie ein 16-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es als anstelle von in Ihrem verwalteten Visual Basic UShort UInteger Code.

  • Erweiterung. Der UInteger Datentyp wird auf , , , und Long ULong Decimal Single Double ausweiten. Dies bedeutet, dass Sie UInteger in jeden dieser Typen konvertieren können, ohne dass ein Fehler System.OverflowException auftritt.

  • Geben Sie Zeichen ein. Das Anfügen der Literaltypzeichen UI an ein Literal erzwingt den UInteger Datentyp. UInteger hat kein Bezeichnertypzeichen.

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

Siehe auch