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 ou Decimal

  • 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

  • Une classe .NET Framework, par exemple Label ou TextBox

  • 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.

Voir aussi