Partager via


Comment : modifier la taille d'un tableau

Mise à jour : novembre 2007

Vous redimensionnez une variable tableau en lui assignant un nouvel objet tableau. Vous pouvez utiliser une instruction d'assignation standard ou le ReDim, instruction (Visual Basic). Dans l'un et l'autre cas, le tableau d'origine est remplacé par un tableau complètement nouveau, et la variable tableau pointe vers le nouveau tableau.

Redimensionner un tableau vous aide à gérer la mémoire efficacement. Par exemple, vous pouvez démarrer avec un petit tableau, puis augmenter sa taille si vous avez besoin de plus d'éléments. Ou bien, vous pouvez démarrer avec un grand tableau, puis réduire sa taille lorsque vous n'en avez plus besoin dans son ensemble. Cette technique occupe la mémoire additionnelle uniquement lorsque vous en avez besoin.

Pour redimensionner une variable tableau à l'aide d'une instruction d'assignation standard

  1. Créez le nouvel objet tableau en spécifiant les nouvelles longueurs de dimension.

  2. Assignez le nouvel objet tableau à la variable tableau.

    Dim thisArrayVariable() As Integer = New Integer(99) {}
    thisArrayVariable = New Integer(49) {}
    

Pour redimensionner une variable tableau à l'aide de l'instruction ReDim

  • Spécifiez les nouvelles longueurs de dimension pour la variable tableau dans l'instruction ReDim.

    Dim thisArrayVariable() As Integer = New Integer(99) {}
    ReDim thisArrayVariable(9)
    

Lorsque vous utilisez ReDim pour redimensionner un tableau, les valeurs existantes de ses éléments sont en principe perdues. Cependant, vous pouvez les conserver en ajoutant le mot clé Preserve à l'instruction ReDim.

Pour redimensionner une variable tableau en conservant des valeurs d'élément existantes

  1. Spécifiez les nouvelles longueurs de dimension pour la variable tableau dans l'instruction ReDim.

  2. Insérez le mot clé Preserve dans l'instruction ReDim. L'exemple suivant crée un nouveau tableau, initialise ses éléments à partir des éléments correspondants du tableau existant dans arrayToIncrease et assigne le nouveau tableau à la variable tableau arrayToIncrease.

    Dim arrayToIncrease(9, 49)
    ReDim Preserve arrayToIncrease(9, 199)
    

Si vous utilisez Preserve sur un tableau multidimensionnel, vous ne pouvez modifier que la dernière longueur de dimension. Si vous essayez de modifier une autre dimension, une exception ArrayTypeMismatchException se produit.

Si vous redimensionnez un grand tableau à l'aide du mot clé Preserve, n'oubliez pas que Visual Basic doit copier tous les éléments existants dans le nouveau tableau. Cela peut ralentir vos performances.

Voir aussi

Tâches

Comment : déclarer une variable tableau

Comment : créer un tableau

Comment : initialiser une variable tableau

Comment : déterminer la taille d'un tableau

Comment : déterminer la longueur d'une dimension d'un tableau

Comment : assigner un tableau à un autre tableau

Comment : remplacer un tableau par un autre tableau

Dépannage des tableaux

Concepts

Taille du tableau dans Visual Basic

Autres ressources

Tableaux dans Visual Basic