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 Typzeichen L
enthalten, um den Long
-Datentyp anzugeben, wie das folgende Beispiel zeigt:
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 alsInteger
und nicht alsLong
.Erweiterung. Der
Long
-Datentyp kann zuDecimal
,Single
oderDouble
erweitert werden. Dies bedeutet, dass SieLong
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 derLong
-Datentyp erzwungen. Durch Anhängen des Typkennzeichens&
an einen beliebigen Bezeichner wird für diesen ebenfalls derLong
-Datentyp erzwungen.Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.Int64-Struktur.