Długi typ danych (Visual Basic)
Zawiera podpisane 64-bitowe (8-bajtowe) liczby całkowite od -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807 (9,2...E+18).
Uwagi
Long
Użyj typu danych, aby zawierać liczby całkowite, które są zbyt duże, aby zmieścić się w typie Integer
danych.
Wartość domyślna to Long
0.
Przypisania literału
Zmienną Long
można zadeklarować i zainicjować, przypisując jej literał dziesiętny, literał szesnastkowy, literał ósemkowy lub (począwszy od języka Visual Basic 2017) literał binarny. Jeśli literał liczby całkowitej znajduje się poza zakresem Long
(czyli jeśli jest mniejszy lub większy niż Int64.MinValue Int64.MaxValue, wystąpi błąd kompilacji.
W poniższym przykładzie liczby całkowite równe 4294 967 2966, które są reprezentowane jako liczby dziesiętne, szesnastkowe i literały binarne są przypisywane do Long
wartości.
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
Uwaga
Należy użyć prefiksu &h
lub &H
oznaczyć literał szesnastkowy, prefiks &b
lub &B
oznaczać literał binarny oraz prefiks &o
lub &O
oznaczać literał ósemkowy. Literały dziesiętne nie mają prefiksu.
Począwszy od języka Visual Basic 2017, można również użyć znaku podkreślenia , _
jako separatora cyfr, aby zwiększyć czytelność, jak pokazano w poniższym przykładzie.
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
Począwszy od języka Visual Basic 15.5, można również użyć znaku podkreślenia (_
) jako separatora wiodącego między prefiksem a cyframi szesnastkowymi, binarnymi lub ósemkowymi. Na przykład:
Dim number As Long = &H_0FAC_0326_1489_D68C
Aby użyć znaku podkreślenia jako separatora wiodącego, należy dodać następujący element do pliku projektu Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Aby uzyskać więcej informacji, zobacz Wybieranie wersji języka Visual Basic.
Literały liczbowe mogą również zawierać L
znak typu, aby oznaczyć Long
typ danych, jak pokazano w poniższym przykładzie.
Dim number = &H_0FAC_0326_1489_D68CL
Porady dotyczące programowania
Zagadnienia dotyczące międzyoperacyjności. Jeśli łączysz się ze składnikami, które nie są napisane dla programu .NET Framework, na przykład dla obiektów Automation lub COM, pamiętaj, że
Long
ma inną szerokość danych (32 bity) w innych środowiskach. Jeśli przekazujesz 32-bitowy argument do takiego składnika, zadeklaruj go jakoInteger
zamiastLong
w nowym kodzie Języka Visual Basic.Poszerzenie. Typ
Long
danych rozszerza się naDecimal
,Single
lubDouble
. Oznacza to, że można przekonwertowaćLong
na dowolny z tych typów bez napotkania błędu System.OverflowException .Wpisz znaki. Dołączanie znaku
L
typu literału do literału wymusza jegoLong
typ danych. Dołączanie znaku&
typu identyfikatora do dowolnego identyfikatora wymusza jego wartość .Long
Typ struktury. Odpowiedni typ w programie .NET Framework jest strukturą System.Int64 .