Partager via


Constantes et types de données littérales (Visual Basic)

Un littéral est une valeur qui est exprimée comme elle-même plutôt que comme la valeur d'une variable ou le résultat d'une expression, tel que le nombre 3 ou la chaîne "Hello". Une constante est un nom significatif qui prend la place d'un littéral et conserve cette même valeur partout dans le programme, par opposition à une variable dont la valeur peut se modifier.

Si Option Infer a la valeur Off et si Option Strict a la valeur On, vous devez déclarer toutes les constantes explicitement avec un type de données. Dans l'exemple suivant, le type de données de MyByte est déclaré explicitement comme type de données Byte :

Option Strict On 

Public Class Sample
  Public Const MyByte As Byte = 2
End Class

Si Option Infer a la valeur On ou si Option Strict a la valeur Off, vous pouvez déclarer une constante sans spécifier de type de données avec une clause As. Le compilateur détermine le type de la constante à partir du type de l'expression. Par défaut, un littéral entier numérique est casté en un type de données Integer. Le type de données par défaut des nombres à virgule flottante est Double, et les mots clés True et False spécifient une constante Boolean.

Littéraux et contrainte de type

Il arrive parfois que vous vouliez forcer un littéral en un type de données particulier ; par exemple, lors de l'assignation d'une très grande valeur littérale intégrale à une variable de type Decimal. L'exemple suivant génère une erreur :

Dim myDecimal as Decimal
myDecimal = 100000000000000000000   ' This causes a compiler error.

L'erreur provient de la représentation du littéral. Le type de données Decimal peut avoir une valeur de cette taille, mais le littéral est implicitement représenté comme un type Long qui ne peut pas contenir une telle valeur.

Vous pouvez forcer un littéral en un type de données particulier de deux façons : en lui ajoutant un caractère de type ou en le plaçant entre des caractères englobants. Un caractère de type ou des caractères englobants doivent immédiatement précéder et/ou suivre le littéral (aucun autre caractère ou espace ne doit venir s'interposer).

Pour que l'exemple précédent fonctionne, vous devez ajouter au littéral le caractère de type D, de sorte qu'il soit représenté en tant que type Decimal :

Dim MyDecimal As Decimal = 100000000000000000000D

L'exemple suivant illustre l'utilisation correcte des caractères de type et des caractères englobants :

' Default to Integer. 
Public Const DefaultInteger As Integer = 100

' Default to Double. 
Public Const DefaultDouble As Double = 54.3345612

' Force constant to be type Char. 
Public Const MyCharacter As Char = "a"c

' DateTime constants. 
Public Const MyDate As DateTime = #1/15/2001#
Public Const MyTime As DateTime = #1:15:59 AM#

' Force data type to be Long. 
Public Const MyLong As Long = 45L

' Force data type to be Single. 
Public Const MySingle As Single = 45.55!

Le tableau suivant répertorie les caractères englobants et les caractères de type disponibles dans Visual Basic.

Type de données

Caractère englobant

Caractère de type ajouté

Boolean

(aucun)

(aucun)

Byte

(aucun)

(aucun)

Char

"

C

Date

#

(aucun)

Decimal

(aucun)

D ou @

Double

(aucun)

R ou #

Integer

(aucun)

I ou %

Long

(aucun)

L ou &

Short

(aucun)

S

Single

(aucun)

F ou !

String

"

(aucun)

Voir aussi

Tâches

Comment : déclarer une constante (Visual Basic)

Comment : déclarer des énumérations (Visual Basic)

Référence

Option Strict, instruction

Option Explicit, instruction (Visual Basic)

Liste des types de données (Visual Basic)

Concepts

Constantes définies par l'utilisateur (Visual Basic)

Vue d'ensemble des constantes (Visual Basic)

Vue d'ensemble des énumérations (Visual Basic)

Énumérations et qualification de noms (Visual Basic)

Constantes et énumérations (Visual Basic)