Instructions d'assignation

Mise à jour : novembre 2007

Les instructions d'assignation exécutent des opérations d'assignation qui consistent à prendre la valeur située à droite de l'opérateur d'assignation (=) et à la stocker dans l'élément situé à gauche, comme dans l'exemple suivant.

v = 42

Dans l'exemple précédent, l'instruction d'assignation stocke la valeur littérale 42 dans la variable v.

Éléments de programmation admissibles

L'élément de programmation situé à gauche de l'opérateur d'assignation doit être en mesure d'accepter et de stocker une valeur. En d'autres termes, il doit être une variable ou une propriété qui n'est pas ReadOnly (Visual Basic), ou encore il doit être un élément de tableau. Dans le contexte d'une instruction d'assignation, un tel élément est parfois appelé lvalue, pour « valeur de gauche ».

La valeur située à droite de l'opérateur d'assignation est générée par une expression qui peut être composée de n'importe quelle combinaison de littéraux, de constantes, de variables, de propriétés, d'éléments de tableau, d'autres expressions ou d'appels de fonctions. L'exemple suivant illustre ce comportement.

x = y + z + findResult(3)

L'exemple précédent ajoute la valeur contenue dans la variable y à celle qui est contenue dans la variable zvariable, puis ajoute la valeur retournée par l'appel à la fonction findResult. La valeur totale de cette expression est ensuite stockée dans la variable x.

Types de données dans les instructions d'assignation

Outre les valeurs numériques, l'opérateur d'assignation peut également assigner des valeurs String, comme le montre l'exemple suivant.

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

Vous pouvez également assigner des valeurs Boolean à l'aide d'un littéral Boolean ou d'une expression Boolean, comme le montre l'exemple suivant.

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

De même, vous pouvez assigner des valeurs appropriées aux éléments de programmation du type de données Char, Date ou Object. Vous pouvez également assigner une instance d'objet à un élément a déclaré pour faire partie de la classe dans laquelle cette instance est créée.

Instructions d'assignation composée

Les instructions d'assignation composée exécutent en premier lieu une opération sur une expression avant de l'assigner à un élément de programmation. L'exemple suivant illustre l'un de ces opérateurs, +=, qui incrémente la valeur de la variable située à gauche de l'opérateur par la valeur de l'expression de droite.

n += 1

L'exemple précédent ajoute 1 à la valeur de n, puis stocke cette nouvelle valeur dans n. C'est l'équivalent abrégé de l'instruction suivante :

n = n + 1

Les opérateurs de ce type permettent d'effectuer de nombreuses opérations d'assignation composées. Pour obtenir la liste de ces opérateurs et en savoir davantage sur eux, consultez Opérateurs d'assignation.

Enfin, l'opérateur d'assignation de concaténation (&=) est utile pour ajouter une chaîne à la fin de chaînes déjà existantes, comme le montre l'exemple suivant :

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

Conversions de types dans les instructions d'assignation

La valeur que vous assignez à une variable, une propriété ou un élément de tableau doit être un type de données approprié pour cet élément de destination. En général, vous devez essayer de générer une valeur du même type de données que celui de l'élément de destination. Toutefois, certains types peuvent être convertis en d'autres types au cours de l'assignation.

Pour plus d'informations sur la conversion entre types de données, consultez Conversions de type en Visual Basic. En bref, Visual Basic convertit automatiquement une valeur d'un type donné en un autre type auquel elle s'étend. Une conversion étendue réussit toujours au moment de l'exécution et ne perd pas de données. Par exemple, Visual Basic convertit une valeur Integer en Double lorsque cela s'avère nécessaire, parce que Integer s'étend à Double. Pour plus d'informations, consultez Conversions étendues et restrictives.

Les conversions restrictives (celles qui ne sont pas étendues) courent un risque d'échec au moment de l'exécution, ou de perte de données. Vous pouvez effectuer explicitement une conversion restrictive en utilisant une fonction de conversion de type, ou encore demander au compilateur d'effectuer implicitement toutes les conversions en définissant Option Strict Off. Pour plus d'informations, consultez Conversions implicites et explicites.

Voir aussi

Concepts

Vue d'ensemble des instructions

Instructions de déclaration en Visual Basic

Instructions exécutables

Conversions étendues et restrictives

Référence

Opérateurs d'assignation