UInteger-Datentyp

Enthält nicht signierte 32-Bit-Ganzzahlen (4-Byte) im Wert von 0 bis 4.294.967.295.

Bemerkungen

Der UInteger Datentyp stellt den größten nicht signierten Wert in der effizientesten Datenbreite bereit.

Der Standardwert von UInteger lautet 0.

Literale Zuordnungen

Sie können eine UInteger Variable deklarieren und initialisieren, indem Sie es 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 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 &H zum Kennzeichnen eines Hexadezimal literal, des Präfixes &h&b oder zum Kennzeichnen eines binären Literals und &o des Präfixes oder &B&O zum Kennzeichnen eines Oktal literal. Dezimale Literale haben kein Präfix.

Ab Visual Basic 2017 können Sie auch das Unterstrichzeichen verwenden, als Zifferntrennzeichen, um die Lesbarkeit zu verbessern, _wie das folgende Beispiel zeigt.

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 das Unterstrichzeichen (_) als führendes Trennzeichen zwischen präfix und hexadezimalen, binären oder oktalen Ziffern verwenden. Beispiel:

Dim number As UInteger = &H_0F8C_0326

Um das Unterstrichzeichen als führendes Trennzeichen zu verwenden, müssen Sie dem Visual Basic Projekt (*.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 Zeichen oder ui typ UI enthalten, um den UInteger Datentyp anzuzeigen, wie im folgenden Beispiel dargestellt.

Dim number = &H_0FAC_14D7ui

Programmiertipps

Integer Die UInteger und Datentypen bieten optimale Leistung auf einem 32-Bit-Prozessor, da die kleineren ganzzahligen Typen (UShort, , und ), auch wenn sie weniger Bits verwenden, mehr Zeit zum Laden, ShortByteSpeichern und SByteAbrufen nehmen.

  • Negative Zahlen. Da UInteger es sich um einen nicht signierten Typ handelt, kann er keine negative Zahl darstellen. Wenn Sie den Unary Minus-Operator (-) in einem Ausdruck verwenden, der den Typ UIntegerauswertet, Visual Basic den Ausdruck Long zuerst konvertiert.

  • CLS Compliance. Der UInteger Datentyp ist nicht Teil der Common Language Specification (CLS), sodass CLS-kompatibler Code keine Komponente verwendet, die sie verwendet.

  • Interop-Überlegungen. Wenn Sie mit Komponenten, die nicht für die .NET Framework geschrieben werden, z. B. Automatisierungs- oder COM-Objekte, mit Komponenten interfacieren, beachten Sie, dass Typen wie uint z. B. eine andere Datenbreite (16 Bit) in anderen Umgebungen haben können. Wenn Sie ein 16-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie sie anstelle UShortUInteger des verwalteten Visual Basic Codes.

  • Erweiterung. Der UInteger Datentyp erweitert sich auf Long, SingleULongDecimalund .Double Dies bedeutet, dass Sie in jede dieser Typen konvertieren UInteger können, ohne dass ein System.OverflowException Fehler auftritt.

  • Typzeichen. Anfügen der Literaltypzeichen UI an einen Literal erzwingt es an den UInteger Datentyp. UInteger hat kein Bezeichnertypzeichen.

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

Weitere Informationen