Share via


Différences entre les arguments modifiables et non modifiables

Mise à jour : novembre 2007

Lorsque vous appelez une procédure, vous lui passez généralement un ou plusieurs arguments. Chaque argument correspond à un élément de programmation sous-jacent. Les éléments sous-jacents et les arguments peuvent être modifiables ou non.

Éléments modifiables et non modifiables

Un élément de programmation peut être un élément modifiable dont la valeur peut changer ou un élément non modifiable dont la valeur reste fixe une fois qu'il est créé.

Le tableau suivant répertorie les éléments de programmation modifiables et non modifiables.

Éléments modifiables

Éléments non modifiables

Variables locales (déclarées à l'intérieur des procédures), comprenant les variables objet, sauf en lecture seule

Variables, champs et propriétés en lecture seule

Champs (variables membres de modules, de classes et de structures), sauf en lecture seule

Constantes et littéraux

Propriétés, sauf en lecture seule

Membres d'énumération

Éléments de tableau

Expressions (même si elles contiennent des éléments modifiables)

Arguments modifiables et non modifiables

Un argument modifiable est un élément comprenant un élément sous-jacent modifiable. Le code appelant peut stocker une nouvelle valeur à n'importe quel moment, et si vous passez l'argument ByRef, le code de la procédure peut également modifier l'élément sous-jacent du code appelant.

Un argument non modifiable possède un élément non modifiable sous-jacent ou est passé ByVal. La procédure ne peut pas modifier l'élément sous-jacent dans le code appelant, même si cet élément est modifiable. Si cet élément est non modifiable, le code appelant ne peut pas le modifier.

La procédure appelée peut modifier sa copie locale de l'argument non modifiable, mais cette modification n'affecte pas l'élément sous-jacent dans le code appelant.

Voir aussi

Tâches

Comment : passer des arguments à une procédure

Comment : modifier la valeur d'un argument de la procédure

Comment : protéger un argument de procédure contre les modifications de valeur

Comment : forcer le passage d'un argument par valeur

Concepts

Procédures dans Visual Basic

Paramètres et arguments d'une procédure

Passage d'arguments par valeur et par référence

Différences entre le passage d'un argument par valeur et par référence

Passage des arguments par position et par nom

Types valeur et types référence