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
Créez le nouvel objet tableau en spécifiant les nouvelles longueurs de dimension.
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
Spécifiez les nouvelles longueurs de dimension pour la variable tableau dans l'instruction ReDim.
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 : 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
Concepts
Taille du tableau dans Visual Basic