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, Short
Byte
Speichern und SByte
Abrufen 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 TypUInteger
auswertet, Visual Basic den AusdruckLong
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 anstelleUShort
UInteger
des verwalteten Visual Basic Codes.Erweiterung. Der
UInteger
Datentyp erweitert sich aufLong
,Single
ULong
Decimal
und .Double
Dies bedeutet, dass Sie in jede dieser Typen konvertierenUInteger
können, ohne dass ein System.OverflowException Fehler auftritt.Typzeichen. Anfügen der Literaltypzeichen
UI
an einen Literal erzwingt es an denUInteger
Datentyp.UInteger
hat kein Bezeichnertypzeichen.Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.UInt32-Struktur.