Différences entre les arguments modifiables et non modifiables (Visual Basic)
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 eux-mêmes peuvent être modifiables ou non modifiables.
Éléments modifiables et non modifiables
Un élément de programmation peut être un élément modifiable, dont la valeur peut être modifiée, ou un élément non modifiable, qui reçoit une valeur fixe au moment de sa création.
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), y compris les variables d’objet, à l’exception des variables en lecture seule | Variables, champs et propriétés en lecture seule |
Champs (variables membres de modules, de classes et de structures), à l’exception des champs en lecture seule | Constantes et littéraux |
Propriétés, à l’exception des propriétés en lecture seule | Membres d’énumération |
Éléments de tableau | Expressions (même si leurs éléments sont modifiables) |
Arguments modifiables et non modifiables
Un argument modifiable est un argument avec un élément sous-jacent modifiable. Le code appelant peut stocker une nouvelle valeur à tout moment, et si vous passez l’argument ByRef, le code de la procédure peut également modifier l’élément sous-jacent dans le code appelant.
Un argument non modifiable est un argument qui a un élément sous-jacent non modifiable, ou auquel l’argument ByVal est passé. La procédure ne peut pas modifier l’élément sous-jacent dans le code appelant, même s’il s’agit d’un élément modifiable. S’il s’agit d’un élément non modifiable, même le code appelant ne peut pas le modifier.
La procédure appelée peut modifier sa copie locale d’un argument non modifiable, mais cette modification n’affecte pas l’élément sous-jacent dans le code appelant.
Voir aussi
- Procédures
- Paramètres et arguments d’une procédure
- Comment : passer des arguments à une procédure
- Passage des arguments par valeur et par référence
- Différences entre le passage d'un argument par valeur et par référence
- 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
- Passage des arguments par position et par nom
- Value Types and Reference Types