Condividi tramite


Caratteri di tipo (Visual Basic)

Oltre a specificare un tipo di dati in un'istruzione di dichiarazione, è possibile forzare il tipo di dati di alcuni elementi di programmazione con un carattere di tipo. Il carattere di tipo deve seguire immediatamente l'elemento, senza caratteri intermedi di qualsiasi tipo.

Il carattere di tipo non fa parte del nome dell'elemento. È possibile fare riferimento a un elemento definito con un carattere di tipo senza il carattere di tipo.

Caratteri di tipo identificatore

Visual Basic fornisce un set di caratteri di tipo identificatore che è possibile usare in una dichiarazione per specificare il tipo di dati di una variabile o di una costante. Nella tabella seguente vengono illustrati i caratteri di tipo identificatore disponibili con esempi di utilizzo.

Carattere di tipo identificatore Tipo di dati Esempio
% Integer Dim L%
& Long Dim M&
@ Decimal Const W@ = 37.5
! Single Dim Q!
# Double Dim X#
$ String Dim V$ = "Secret"

Non esistono caratteri di tipo identificatore per i tipi di dati Boolean, Byte, Char, Date, Object, SByte, Short, UInteger, ULong o UShort oppure per qualsiasi tipo di dati composito, ad esempio matrici o strutture.

In alcuni casi è possibile accodare il carattere $ a una funzione di Visual Basic, ad esempio Left$ anziché Left, per ottenere un valore restituito di tipo String.

In tutti i casi il carattere di tipo identificatore deve seguire immediatamente il nome dell'identificatore.

Caratteri di tipo letterale

Un valore letterale è una rappresentazione testuale di un determinato valore di un tipo di dati.

Tipi letterali predefiniti

Il formato di un valore letterale visualizzato nel codice determina in genere il rispettivo tipo di dati. La tabella seguente illustra questi tipi predefiniti.

Forma testuale del valore letterale Tipi di dati predefinito Esempio
Numerico, nessuna parte frazionaria Integer 2147483647
Numerico, nessuna parte frazionaria, troppo grande per Integer Long 2147483648
Numerico, parte frazionaria Double 1.2
Racchiuso tra virgolette doppie String "A"
Racchiuso tra cancelletti Date #5/17/1993 9:32 AM#

Tipi letterali forzati

Visual Basic fornisce un set di caratteri di tipo letterale, che è possibile usare per forzare un valore letterale a presupporre un tipo di dati diverso da quello indicato dal rispettivo formato. A tale scopo, aggiungere il carattere alla fine del valore letterale. Nella tabella seguente vengono illustrati i caratteri di tipo letterale disponibili con esempi di utilizzo.

Carattere di tipo letterale Tipo di dati Esempio
S Short I = 347S
I Integer J = 347I
L Long K = 347L
D Decimal X = 347D
F Single Y = 347F
R Double Z = 347R
US UShort L = 347US
UI UInteger M = 347UI
UL ULong N = 347UL
C Char Q = "."C

Non esistono caratteri di tipo letterale per i tipi di dati Boolean, Byte, Date, Object, SByte o String oppure per qualsiasi tipo di dati composito, ad esempio matrici o strutture.

I valori letterali possono anche usare i caratteri di tipo identificatore (%, &, @, !, #, $), analogamente a variabili, costanti ed espressioni. Tuttavia, i caratteri di tipo letterale (S, I, L, D, F, R, C) possono essere usati solo con valori letterali.

In tutti i casi il carattere di tipo letterale deve seguire immediatamente il valore letterale.

Valori letterali esadecimali, binari e ottali

Il compilatore interpreta in genere un valore letterale intero come valore incluso nel sistema numerico decimale (base 10). È anche possibile definire un valore letterale intero come numero esadecimale (base 16) con il prefisso &H, come numero binario (base 2) con il prefisso &B e come numero ottale (base 8) con il prefisso &O. Le cifre che seguono il prefisso devono essere appropriate per il sistema numerico. La tabella seguente illustra questo concetto.

Base numerica Prefisso Valori di cifra validi Esempio
Esadecimale (base 16) &H 0-9 e A-F &HFFFF
Binario (base 2) &B 0-1 &B01111100
Ottale (base 8) &O 0-7 &O77

A partire da Visual Basic 2017, è possibile usare il carattere di sottolineatura (_) come separatore di gruppo per migliorare la leggibilità di un valore letterale integrale. Nell'esempio seguente viene usato il carattere _ per raggruppare un valore letterale binario in gruppi a 8 bit:

Dim number As Integer = &B00100010_11000101_11001111_11001101

È possibile posizionare un carattere di tipo letterale dopo un valore letterale con prefisso. Nell'esempio riportato di seguito viene illustrata questa situazione.

Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US

Nell'esempio precedente counter ha il valore decimale -32768 e flags ha il valore decimale +32768.

A partire da Visual Basic 15.5, è anche possibile usare il carattere di sottolineatura (_) come separatore iniziale tra il prefisso e la cifra esadecimale, binaria o ottale. Ad esempio:

Dim number As Integer = &H_C305_F860

Per usare il carattere di sottolineatura come separatore iniziale, è necessario aggiungere l'elemento seguente al file di progetto (*.vbproj) di Visual Basic:

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Per altre informazioni, vedere Selezionare la versione del linguaggio Visual Basic.

Vedi anche