Partager via


Guide pratique pour affecter 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. Soit les deux tableaux doivent avoir des éléments de type référence , soit les deux tableaux doivent avoir des éléments de type valeur . Pour plus d’informations, consultez Types valeur et Types de référence.

    • 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’éléments Enum à 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. Il s’agit de la 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