2 votes

vb.net supprimer une ligne dans un tableau à deux dimensions

En vb.net, comment supprimer une ligne dans un tableau à deux dimensions ?

1voto

ho1 Points 31752

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.

0voto

JohnFx Points 23761

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X