Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Speichert 32-Bit-Ganzzahlen (4-Byte) ohne Vorzeichen, deren Werte sich im Bereich von 0 bis 4.294.967.295 bewegen.
Bemerkungen
Der Datentyp UInteger stellt den größten Wert ohne Vorzeichen in der effizientesten Datenbreite bereit.
Der Standardwert von UInteger lautet 0.
Literalzuweisungen
Sie können eine UInteger-Variable deklarieren und initialisieren, indem Sie ihr ein Dezimalliteral, ein hexadezimales Literal, ein oktales Literal oder (ab Visual Basic 2017) ein binäres 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
Verwenden Sie das Präfix &h oder &H zum Kennzeichnen eines hexadezimalen Literals, das Präfix &b oder &B zum Kennzeichnen eines binären Literals und das Präfix &o oder &O zum Kennzeichnen eines oktalen Literals. Dezimale Literale haben kein Präfix.
Ab Visual Basic 2017 können Sie zur besseren Lesbarkeit auch den Unterstrich (_) als Zifferntrennzeichen verwenden, wie im folgenden Beispiel veranschaulicht.
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 vorangestelltes Trennzeichen zwischen dem Präfix und en 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-Datei) 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 die UIui oder enthalten, um den Datentyp UInteger anzugeben, wie das folgende Beispiel zeigt.
Dim number = &H_0FAC_14D7ui
Programmiertipps
Die Datentypen UInteger und Integer bieten optimale Leistung mit einem 32-Bit-Prozessor, da die kleineren Ganzzahltypen (UShort, Short, Byte und SByte) mehr Zeit zum Laden, Speichern und Abrufen benötigen, obwohl sie weniger Bits verwenden.
Negative Zahlen. Da
UIntegerein Typ ohne Vorzeichen ist, kann er keine negative Zahl darstellen. Wenn Sie den unären Minusoperator (-) für einen Ausdruck verwenden, der zum TypUIntegerausgewertet wird, konvertiert Visual Basic den Ausdruck zuerst inLong.CLS-Kompatibilität. Der Datentyp
UIntegergehört nicht zur Common Language Specification (CLS). Daher kann CLS-kompatibler Code keine Komponente nutzen, die diesen Typ verwendet.Interop-Überlegungen. Wenn Sie mit Komponenten arbeiten, die nicht für das .NET Framework geschrieben wurden – z. B. Automation oder COM-Objekte –, denken Sie daran, dass Typen wie
uintin anderen Umgebungen eine andere Datenbreite (16 Bit) haben können. Wenn Sie ein 16-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es im verwalteten Visual Basic-Code alsUShortund nicht alsUInteger.Erweiterung. Der
UInteger-Datentyp wird zuLong,ULong,Decimal,SingleundDoubleerweitert. Dies bedeutet, dass SieUIntegerin einen dieser Typen konvertieren können, ohne dass ein System.OverflowException-Fehler auftritt.Typzeichen. Durch Anhängen des Literaltypzeichens
UIan ein Literal wird derUInteger-Datentyp erzwungen.UIntegerhat keine Bezeichner-Typzeichen.Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.UInt32-Struktur.