Caractères de type (Visual Basic)
En plus de spécifier un type de données dans une instruction de déclaration, vous pouvez forcer le type de données de certains éléments de programmation avec un caractère de type. Le caractère de type doit suivre immédiatement l’élément, sans caractères intermédiaires d’un type quelconque.
Le caractère de type ne fait pas partie du nom de l’élément. Un élément défini avec un caractère de type peut être référencé sans le caractère de type.
Caractères de type d’identificateur
Visual Basic fournit un ensemble de caractères de type d’identificateur que vous pouvez utiliser dans une déclaration pour spécifier le type de données d’une variable ou d’une constante. Le tableau suivant présente les caractères de type d’identificateur disponibles avec des exemples d’utilisation.
Caractère de type d’identificateur | Type de données | Exemple |
---|---|---|
% |
Integer |
Dim L% |
& |
Long |
Dim M& |
@ |
Decimal |
Const W@ = 37.5 |
! |
Single |
Dim Q! |
# |
Double |
Dim X# |
$ |
String |
Dim V$ = "Secret" |
Aucun caractère de type d’identificateur n’existe pour les types de données Boolean
, Byte
, Char
, Date
, Object
, SByte
, Short
, UInteger
, ULong
ou UShort
, ou pour tous les types de données composites tels que des tableaux ou des structures.
Dans certains cas, vous pouvez ajouter le caractère $
à une fonction Visual Basic, par exemple Left$
au lieu de Left
, pour obtenir une valeur renvoyée de type String
.
Dans tous les cas, le caractère de type d’identificateur doit immédiatement suivre le nom de l’identificateur.
Caractères de type littéral
Un littéral est une représentation textuelle d’une valeur particulière d’un type de données.
Types littéraux par défaut
La forme d’un littéral tel qu’il apparaît dans votre code détermine généralement son type de données. Le tableau suivant présente ces types par défaut.
Forme textuelle de littéral | Type de données par défaut | Exemple |
---|---|---|
Numérique, aucune partie fractionnaire | Integer |
2147483647 |
Numérique, aucune partie fractionnaire, trop grande pour Integer |
Long |
2147483648 |
Partie numérique, fractionnaire | Double |
1.2 |
délimité par des guillemets doubles ; | String |
"A" |
Placé entre les signes numériques | Date |
#5/17/1993 9:32 AM# |
Types littéraux forcés
Visual Basic fournit un ensemble de caractères de type littéral, que vous pouvez utiliser pour forcer un littéral à supposer un type de données autre que celui indiqué par son formulaire. Pour ce faire, ajoutez le caractère à la fin du littéral. Le tableau suivant présente les caractères de type littéral disponibles avec des exemples d’utilisation.
Caractère de type littéral | Type de données | Exemple |
---|---|---|
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 |
Aucun caractère de type littéral n’existe pour les types de données Boolean
, Byte
, Date
, Object
, SByte
ou String
, ou pour tous les types de données composites tels que des tableaux ou des structures.
Les littéraux peuvent également utiliser les caractères de type d’identificateur (%
, &
, @
, !
, #
, $
), comme les variables, les constantes et les expressions. Toutefois, les caractères de type littéral (S
, I
, L
, D
, F
, R
, C
) peuvent être utilisés uniquement avec des littéraux.
Dans tous les cas, le caractère de type littéral doit suivre immédiatement la valeur littérale.
Littéraux hexadécimaux, binaires et octal
Le compilateur interprète normalement un littéral entier dans le système numérique décimal (base 10). Vous pouvez également définir un littéral entier sous la forme d’un nombre hexadécimal (base 16) avec le préfixe &H
, en tant que nombre binaire (base 2) avec le préfixe &B
, et sous la forme d’un nombre octal (base 8) avec le préfixe &O
. Les chiffres qui suivent le préfixe doivent être appropriés pour le système numérique. Le tableau suivant illustre cela.
Base de nombres | Préfixe | Valeurs de chiffres valides | Exemple |
---|---|---|---|
Hexadécimale (base 16) | &H |
0-9 et A-F | &HFFFF |
Binaire (base 2) | &B |
0-1 | &B01111100 |
Octale (base 8) | &O |
0-7 | &O77 |
À compter de Visual Basic 2017, vous pouvez utiliser le caractère de soulignement (_
) comme séparateur de groupe pour améliorer la lisibilité d’un littéral intégral. L’exemple suivant utilise le caractère _
pour regrouper un littéral binaire en groupes 8 bits :
Dim number As Integer = &B00100010_11000101_11001111_11001101
Vous pouvez suivre un littéral préfixé avec un caractère de type littéral. L'exemple suivant illustre cela.
Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US
Dans l’exemple précédent, counter
a la valeur décimale -32768 et flags
a la valeur décimale de +32768.
Depuis Visual Basic 15.5, vous pouvez également utiliser le caractère de soulignement (_
) comme séparateur de début entre le préfixe et les chiffres hexadécimaux, binaires ou octaux. Par exemple :
Dim number As Integer = &H_C305_F860
Pour utiliser le caractère de soulignement comme séparateur de début, vous devez ajouter l’élément suivant à votre fichier projet Visual Basic (*.vbproj) :
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Pour plus d’informations, consultez Sélectionner la version du langage Visual Basic.