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.
Enthält ganze 64-Bit-Werte (8 Byte) ohne Vorzeichen im Wert von 0 bis 18.446.744.073.709.551.615 (mehr als 1,84 mal 10 ^ 19).
Bemerkungen
Verwenden Sie den ULong Datentyp, um Binärdaten zu enthalten, die für zu groß sind UInteger, oder die größtmöglichen ganzzahligen Werte ohne Vorzeichen.
Der Standardwert von ULong lautet 0.
Literalzuweisungen
Sie können eine ULong-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 ULong befindet – sprich, wenn es kleiner als UInt64.MinValue oder größer als UInt64.MaxValue ist – tritt ein Kompilierfehler auf.
Im folgenden Beispiel werden Ganzzahlen wie 7.934.076.125, die als dezimale, hexadezimale und binäre Literale dargestellt werden, den ULong-Werten zugewiesen.
Dim ulongValue1 As ULong = 7934076125
Console.WriteLine(ulongValue1)
Dim ulongValue2 As ULong = &H0001D8e864DD
Console.WriteLine(ulongValue2)
Dim ulongValue3 As ULong = &B0001_1101_1000_1110_1000_0110_0100_1101_1101
Console.WriteLine(ulongValue3)
' The example displays the following output:
' 7934076125
' 7934076125
' 7934076125
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 longValue1 As Long = 4_294_967_296
Console.WriteLine(longValue1)
Dim longValue2 As Long = &H1_0000_0000
Console.WriteLine(longValue2)
Dim longValue3 As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Console.WriteLine(longValue3)
' The example displays the following output:
' 4294967296
' 4294967296
' 4294967296
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 ULong = &H_F9AC_0326_1489_D68C
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 ULul oder enthalten, um den Datentyp ULong anzugeben, wie das folgende Beispiel zeigt.
Dim number = &H_00_00_0A_96_2F_AC_14_D7ul
Programmiertipps
Negative Zahlen. Da
ULongein Typ ohne Vorzeichen ist, kann er keine negative Zahl darstellen. Wenn Sie den unären Minusoperator (-) für einen Ausdruck verwenden, der zum TypULongausgewertet wird, konvertiert Visual Basic den Ausdruck zuerst inDecimal.CLS-Kompatibilität. Der Datentyp
ULonggehö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
ulongin anderen Umgebungen eine andere Datenbreite (32 Bit) haben können. Wenn Sie ein 32-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es im verwalteten Visual Basic-Code alsUIntegerund nicht alsULong.Erweiterung. Der
ULong-Datentyp wird zuDecimal,SingleundDoubleerweitert. Dies bedeutet, dass SieULongin einen dieser Typen konvertieren können, ohne dass ein System.OverflowException-Fehler auftritt.Typzeichen. Durch Anhängen des Literaltypzeichens
ULan ein Literal wird derULong-Datentyp erzwungen.ULonghat keine Bezeichner-Typzeichen.Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.UInt64-Struktur.