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 alcun 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 del tipo di identificatore

Visual Basic fornisce un set di caratteri di tipo identificatore che è possibile utilizzare in una dichiarazione per specificare il tipo di dati di una variabile o di una costante. La tabella seguente illustra i caratteri del tipo di identificatore disponibili con esempi di utilizzo.

Carattere del tipo di 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 Booleantipi di dati , ShortObjectCharByteSByteUIntegerDateULongo UShort per qualsiasi tipo di dati composito, ad esempio matrici o strutture.

In alcuni casi, è possibile aggiungere 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 del tipo di 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

La forma di un valore letterale come viene visualizzata nel codice determina in genere il tipo di dati. Nella tabella seguente vengono illustrati questi tipi predefiniti.

Forma testuale di valore letterale Tipo di dati predefinito Esempio
Numerico, nessuna parte frazionaria Integer 2147483647
Numerico, nessuna parte frazionaria, troppo grande per Integer Long 2147483648
Parte numerica, frazionaria Double 1.2
Racchiuso tra virgolette doppie String "A"
Racchiuso tra i segni numerici 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 dalla maschera. A tale scopo, aggiungere il carattere alla fine del valore letterale. La tabella seguente illustra 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 Booleantipi di dati , Byte, DateObject, , SByteo String per qualsiasi tipo di dati composito, ad esempio matrici o strutture.

I valori letterali possono anche usare i caratteri di tipo identificatore (%, &, @, !, #, $), come 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 integer nel sistema numerico decimale (base 10). È anche possibile definire un valore letterale integer come numero esadecimale (base 16) con il &H prefisso, come numero binario (base 2) con il &B prefisso e come numero ottale (base 8) con il &O prefisso . Le cifre che seguono il prefisso devono essere appropriate per il sistema numerico. Nella tabella seguente viene illustrato questo.

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 seguire un valore letterale con prefisso con un carattere di tipo letterale. Nell'esempio riportato di seguito viene illustrata questa situazione.

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

Nell'esempio precedente il counter 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 le cifre esadecimali, binarie o ottali. 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 Visual Basic (*.vbproj):

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

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

Vedi anche