Déclaration de variable en Visual Basic
Vous déclarez une variable pour spécifier son nom et ses caractéristiques. L’instruction de déclaration des variables est l’instruction Dim. Son emplacement et son contenu déterminent les caractéristiques de la variable.
Pour connaître les règles de nommage des variables et les considérations à prendre en compte, consultez Noms d’éléments déclarés.
Niveaux de déclaration
Variables locales et membres
Une variable locale est une variable déclarée dans une procédure. Une variable membre est un membre d’un type Visual Basic. Elle est déclarée au niveau du module, à l’intérieur d’une classe, d’une structure ou d’un module, mais pas au sein d’une procédure interne à cette classe, à cette structure ni à ce module.
Variables partagées et variables d’instance
Dans une classe ou une structure, la catégorie d’une variable membre varie selon qu’elle est partagée ou non. Si elle est déclarée avec le mot clé Shared, il s’agit d’une variable partagée qui existe en un seul exemplaire partagé entre toutes les instances de la classe ou de la structure.
Sinon, il s’agit d’une variable d’instance : une copie distincte de celle-ci est créée pour chaque instance de la classe ou de la structure. Une copie donnée d’une variable d’instance n’est disponible que pour l’instance de la classe ou de la structure dans laquelle elle a été créée. Elle est indépendante des copies de la variable d’instance qui se trouvent dans une autre instance de la classe ou de la structure.
Déclaration du type de données
La clause As de l’instruction de déclaration vous permet de définir le type de données ou d’objet de la variable que vous déclarez. Les types que l’on peut spécifier pour une variable sont les suivants :
Un type de données élémentaire, par exemple
Boolean
,Long
ouDecimal
Un type de données composite, par exemple un tableau ou une structure
Un type d’objet, ou une classe, défini dans votre application ou dans une autre
Un type d’interface, par exemple IComparable ou IDisposable
Il est possible de déclarer plusieurs variables dans une même instruction sans avoir à répéter le type de données. Dans les instructions suivantes, les variables i
, j
et k
sont déclarées en tant que type Integer
, l
et m
en tant que Long
, et x
et y
en tant que Single
:
Dim i, j, k As Integer
' All three variables in the preceding statement are declared as Integer.
Dim l, m As Long, x, y As Single
' In the preceding statement, l and m are Long, x and y are Single.
Pour plus d’informations sur les types de données, consultez Types de données. Pour plus d’informations sur les objets, consultez Objets et classes et Programmation avec des composants.
Inférence de type local
L’inférence de type permet de déterminer le type de données des variables locales déclarées sans clause As
. Le compilateur déduit le type de la variable à partir du type de l’expression d’initialisation. Vous pouvez ainsi déclarer des variables sans indiquer explicitement un type. Dans l’exemple suivant, num1
et num2
sont fortement typés en tant qu’entiers.
Public Sub inferenceExample()
' Using explicit typing.
Dim num1 As Integer = 3
' Using local type inference.
Dim num2 = 3
End Sub
Si vous souhaitez utiliser l’inférence de type de variable locale, Option Infer
doit prendre la valeur On
. Pour plus d’informations, consultez Inférence de type de variable locale et Option Infer, instruction.
Caractéristiques des variables déclarées
La durée de vie d’une variable correspond à la période pendant laquelle elle peut être utilisée. En général, une variable existe tant que perdure l’élément qui la déclare (par exemple une procédure ou une classe). Si la variable n’a pas besoin de continuer à exister au-delà de la durée de vie de l’élément qui la contient, il n’y a rien de spécial à indiquer dans la déclaration. Dans le cas où la variable doit persister plus longtemps que l’élément qui la contient, vous pouvez inclure le mot clé Static
ou le mot clé Shared
dans son instruction Dim
. Pour plus d’informations, consultez Durée de vie en Visual Basic.
L’étendue d’une variable désigne l’ensemble du code qui peut y faire référence sans qualifier son nom. Elle est déterminée par l’endroit où elle est déclarée. Le code situé dans une région donnée peut utiliser les variables définies dans cette région sans avoir à qualifier leur nom. Pour plus d'informations, consultez Scope in Visual Basic.
Le niveau d’accès d’une variable représente l’étendue du code autorisé à y accéder. Il est déterminé par le modificateur d’accès (par exemple Public ou Privé) utilisé dans l’instruction Dim
. Pour plus d’informations, consultez Niveaux d’accès en Visual Basic.