Partager via


Comment : assigner un tableau à un autre tableau (Visual Basic)

Étant donné que les tableaux sont des objets, vous pouvez les utiliser dans des instructions d’affectation comme d’autres types d’objets. Une variable de tableau contient un pointeur vers les données constituant les éléments de tableau et les informations de classement et de longueur, et une affectation copie uniquement ce pointeur.

Pour affecter un tableau à un autre tableau

  1. Vérifiez que les deux tableaux ont le même rang (nombre de dimensions) et les types de données d’élément compatibles.

  2. Utilisez une instruction d’affectation standard pour affecter le tableau source au tableau de destination. Ne suivez pas le nom du tableau avec des parenthèses.

    Dim formArray() As System.Windows.Forms.Form
    Dim controlArray() As System.Windows.Forms.Control
    controlArray = formArray
    

Lorsque vous affectez un tableau à un autre, les règles suivantes s’appliquent :

  • Rangs égaux. Le rang (nombre de dimensions) du tableau de destination doit être identique à celui du tableau source.

    À condition que les rangs des deux tableaux soient égaux, les dimensions n’ont pas besoin d’être égales. Le nombre d’éléments d’une dimension donnée peut changer pendant l’affectation.

  • Types d’éléments. Les deux tableaux doivent avoir type de référence éléments ou les deux tableaux doivent avoir type valeur éléments. Pour plus d'informations, consultez Value Types and Reference Types.

    • Si les deux tableaux ont des éléments de type valeur, les types de données d’élément doivent être exactement identiques. La seule exception à ceci est que vous pouvez affecter un tableau d’Enuméléments à un tableau du type de base de ce Enum.

    • Si les deux tableaux ont des éléments de type référence, le type d’élément source doit dériver du type d’élément de destination. Lorsque c’est le cas, les deux tableaux ont la même relation d’héritage que leurs éléments. C’est ce qu’on appelle covariance de tableau.

Le compilateur signale une erreur si les règles ci-dessus sont violées, par exemple si les types de données ne sont pas compatibles ou si les rangs sont inégaux. Vous pouvez ajouter la gestion des erreurs à votre code pour vous assurer que les tableaux sont compatibles avant d’essayer une affectation. Vous pouvez également utiliser le mot clé TryCast Operator si vous souhaitez éviter de lever une exception.

Voir aussi