Condividi tramite


Tipo di dati Integer (Visual Basic)

Contiene valori integer con segno a 32 bit (4 byte) in un intervallo compreso tra -2.147.483.648 e 2.147.483.647.

Osservazioni:

Il tipo di dati Integer consente di ottenere prestazioni ottimali su processori a 32 bit. Gli altri tipi integrali vengono caricati e memorizzati più lentamente.

Il valore predefinito di Integer è 0.

Assegnazioni di valori letterali

È possibile dichiarare e inizializzare una variabile Integer assegnando 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 Integer, vale a dire se è minore di Int32.MinValue o maggiore di Int32.MaxValue, si verifica un errore di compilazione.

Nell'esempio seguente, i valori interi uguali a 90.946 rappresentati come valori letterali decimali, esadecimali o binari vengono assegnati a valori Integer.

Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)

Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
'          90946
'          90946
'          90946

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 intValue1 As Integer = 90_946
Console.WriteLine(intValue1)

Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)

Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
'          90946
'          90946
'          90946

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 Integer = &H_C305_F860

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 carattere di tipo I per indicare il tipo di dati Integer, come illustrato nell'esempio seguente.

Dim number = &H_035826I

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 Integer ha un'ampiezza dei dati diversa (16 bit). Se si passa un argomento a 16 bit a un componente di questo tipo, nel nuovo codice Visual Basic è necessario eseguirne la dichiarazione come Short anziché come Integer.

  • Ampliamento. Il tipo di dati Integer può ampliarsi nel tipo Long, Decimal, Single o Double. È pertanto possibile convertire Integer in uno di questi tipi senza generare un errore System.OverflowException.

  • Caratteri di tipo. Aggiungendo il carattere di tipo letterale I a un valore letterale, se ne determina la conversione nel tipo di dati Integer. Aggiungendo il carattere identificatore di tipo % a qualsiasi identificatore, se ne determina la conversione al tipo di dati Integer.

  • Tipo di framework. Il tipo corrispondente in .NET Framework è la struttura System.Int32.

Intervallo

Se si tenta di impostare una variabile di un tipo integrale su un numero esterno all'intervallo valido per tale tipo, verrà generato un errore. Se si tenta di impostarlo in una frazione, il numero viene arrotondato all'intero pari più vicino. Se il numero è egualmente vicino a due valori interi, il valore viene arrotondato all'intero pari più vicino. Questo comportamento riduce al minimo gli errori di arrotondamento risultanti dall'arrotondamento coerente di un valore del punto centrale in una singola direzione. Nel codice riportato di seguito vengono illustrati esempi di arrotondamento.

' The valid range of an Integer variable is -2147483648 through +2147483647.  
Dim k As Integer  
' The following statement causes an error because the value is too large.  
k = 2147483648  
' The following statement sets k to 6.  
k = 5.9  
' The following statement sets k to 4  
k = 4.5  
' The following statement sets k to 6  
' Note, Visual Basic uses banker’s rounding (toward nearest even number)  
k = 5.5  

Vedi anche