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.