ULong-Datentyp (Visual Basic)

Enthält ganze 64-Bit-Ganzzahlen ohne Vorzeichen (8 Byte) im Bereich 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äre Daten zu groß für UInteger oder die größtmöglichen ganzzahligen Werte ohne Vorzeichen zu enthalten.

Der Standardwert von ULong lautet 0.

Literalzuweisungen

Sie können eine Variable deklarieren und initialisieren, indem Sie ULong ihr ein Dezimalliteral, ein Hexadezimalliteral, 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

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

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

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 führendes Trennzeichen zwischen dem Präfix und den 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) 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 UL - oder ul -Typzeichen enthalten, um den Datentyp zu ULong kennzeichnen, wie im folgenden Beispiel gezeigt.

Dim number = &H_00_00_0A_96_2F_AC_14_D7ul

Programmiertipps

  • Negative Zahlen. Da ULong 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 ULong wird, konvertiert Visual Basic den Ausdruck zuerst in Decimal .

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

  • Interop-Überlegungen. Wenn Sie komponentenübergreifend arbeiten, die nicht für die .NET Framework geschrieben wurden, z. B. Automation- oder COM-Objekte, denken Sie daran, dass Typen wie ulong eine andere Datenbreite (32 Bits) in anderen Umgebungen aufweisen können. Wenn Sie ein 32-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es als UInteger anstelle von in Ihrem ULong verwalteten Visual Basic Code.

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

  • Geben Sie Zeichen ein. Das Anfügen der Literaltypzeichen UL an ein Literal zwingt es zum ULong Datentyp. ULong weist kein Bezeichnertypzeichen auf.

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

Siehe auch