Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Contiene valori interi con segno a 64 bit (8 byte) compresi tra -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807 (9,2...E+18).
Osservazioni:
Usare il tipo di dati Long per contenere numeri interi troppo grandi per rientrare nel tipo di dati Integer.
Il valore predefinito di Long è 0.
Assegnazioni di valori letterali
È possibile dichiarare e inizializzare una variabile Long assegnandole un valore letterale decimale, un valore letterale esadecimale, un valore letterale ottale o (a partire da Visual Basic 2017) un valore letterale binario. Se il valore letterale integer è esterno all'intervallo di Long, vale a dire se è minore di Int64.MinValue o maggiore di Int64.MaxValue, si verifica un errore di compilazione.
Nell'esempio seguente, i valori interi uguali a 4.294.967.296 rappresentati come valori letterali decimali, esadecimali o binari vengono assegnati a valori Long.
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
Nota
Si utilizza il prefisso &h o &H per indicare un valore letterale esadecimale, il prefisso &b o &B per indicare un valore letterale binario e il prefisso &o o &O per indicare un valore letterale ottale. I valori letterali decimali non hanno prefissi.
A partire da Visual Basic 2017, è possibile anche usare il carattere underscore, _, come separatore di cifre per migliorare la leggibilità, come illustrato nell'esempio seguente.
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
A partire da Visual Basic 15.5, è possibile anche usare il carattere underscore (_) come separatore iniziale tra il prefisso e le cifre esadecimali, binarie oppure ottali. Ad esempio:
Dim number As Long = &H_0FAC_0326_1489_D68C
Per usare il carattere underscore come separatore iniziale, è necessario aggiungere l'elemento seguente al file di progetto Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Per altre informazioni, vedere Selezionare la versione del linguaggio visual Basic.
I valori letterali numerici possono includere anche il L per indicare il tipo di dati Long, come illustrato nell'esempio seguente.
Dim number = &H_0FAC_0326_1489_D68CL
Suggerimenti per la programmazione
Considerazioni sull'interoperabilità. Se si prevede l'interazione con componenti non scritti per .NET Framework, ad esempio oggetti COM o di automazione, tenere presente che in altri ambienti il tipo
Longha un'ampiezza dei dati diversa (32 bit). Se si passa un argomento a 32 bit a un componente di questo tipo, nel nuovo codice Visual Basic è necessario eseguirne la dichiarazione comeIntegeranziché comeLong.Ampliamento. Il tipo di dati
Longpuò ampliarsi nel tipoDecimal,SingleoDouble. È pertanto possibile convertireLongin uno di questi tipi senza generare un errore System.OverflowException.Caratteri di tipo. Aggiungendo il carattere di tipo letterale
La un valore letterale, se ne determina la conversione nel tipo di datiLong. Aggiungendo il carattere identificatore di tipo&a qualsiasi identificatore, se ne determina la conversione al tipo di datiLong.Tipo di framework. Il tipo corrispondente in .NET Framework è la struttura System.Int64.