En vb.net, comment supprimer une ligne dans un tableau à deux dimensions ?
Réponses
Trop de publicités?Si vous devez supprimer des éléments d'un tableau, vous ne devriez probablement pas utiliser un tableau mais plutôt une liste ( List(Of List(Of String))
ou quelque chose comme ça.
Si vous souhaitez vous en tenir à la matrice, deux solutions différentes sont décrites sur le site suivant este page, une lente qui déplace tout à la main et une plus rapide qui copie la mémoire. Les exemples concernent des tableaux à une dimension, mais ils devraient être assez faciles à adapter.
Si c'est la dernière ligne que vous voulez supprimer et que vous utilisez la deuxième dimension pour représenter les lignes, vous pouvez utiliser ReDim avec l'option preserve comme suit :
Dim myArray(2,1)
ReDim Preserve myArray(2, 2)
Avertissement : Je vous suggère de consulter cet article avant d'utiliser l'exemple ci-dessus : Le piège de la performance de Redim Preserve
Si vous devez supprimer une ligne au milieu, vous devrez d'abord tout décaler d'une ligne, puis tronquer la dernière dimension du tableau.
Si l'on ajoute à cela la nécessité de faire pivoter votre concept de rangées vers la deuxième dimension, la tâche est probablement plus ardue qu'elle n'en vaut la peine. Il y a de fortes chances que vous n'utilisiez pas le bon type de tableau si vous avez besoin de supprimer arbitrairement des éléments comme celui-ci. Les tableaux traditionnels (en particulier les tableaux multidimensionnels) sont mieux adaptés aux ensembles de données de taille fixe.