Long-Datentyp (Visual Basic)

Speichert ganze 64-Bit-(8-Byte-)Zahlen mit Vorzeichen, deren Werte sich im Bereich von -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 (9,2...E+18) bewegen.

Bemerkungen

Verwenden Sie den Long-Datentyp für ganze Zahlen, die zu groß für den Integer-Datentyp sind.

Der Standardwert von Long lautet 0.

Literalzuweisungen

Sie können eine Long-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 Long befindet – sprich, wenn es kleiner als Int64.MinValue oder größer als Int64.MaxValue ist – tritt ein Kompilierfehler auf.

Im folgenden Beispiel werden Ganzzahlen wie 4294967296, die als dezimale, hexadezimale und binäre Literale dargestellt werden, den Long-Werten zugewiesen.

Dim longValue1 As Long = 4294967296
Console.WriteLine(longValue1)

Dim longValue2 As Long = &H100000000
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

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 Long = &H_0FAC_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 das TypzeichenL enthalten, um den Long-Datentyp anzugeben:

Dim number = &H_0FAC_0326_1489_D68CL

Programmiertipps

  • Interop-Überlegungen. Wenn Sie mit Komponenten interagieren möchten, die nicht für .NET Framework geschrieben wurden (z. B. Automatisierungs- oder COM-Objekte), müssen Sie beachten, dass Long in anderen Umgebungen eine andere Datenbreite hat (32 Bit). Wenn Sie ein 32-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es im neuen Visual Basic-Code als Integer und nicht als Long.

  • Erweiterung. Der Long-Datentyp kann zu Decimal, Single oder Double erweitert werden. Dies bedeutet, dass Sie Long in einen dieser Typen konvertieren können, ohne dass ein System.OverflowException-Fehler auftritt.

  • Typzeichen. Durch Anhängen des Literaltypzeichens L an ein Literal wird der Long-Datentyp erzwungen. Durch Anhängen des Typkennzeichens & an einen beliebigen Bezeichner wird für diesen ebenfalls der Long-Datentyp erzwungen.

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

Siehe auch