1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
// ton tableau à 2 dimensions de départ, déjà instancié
string[,] tableauOrigine = new string [lignes,colonnes];
// tu veux ajouter une colonne après un libellé précis
string myLibelle = "blabla";
bool trouve = false;
int cpt = 0; // indice de la colonne contenant le libellé
int lineWhere = x; // indice de la ligne ou se trouve ta colonne (si tu la connais, sinon tu parcours aussi toutes les lignes dans la boucle en dessous)
while (!trouve && cpt < tableauOrigine.GetLength(1)){
if (tableauOrigine[lineWhere,cpt] == myLibelle)
trouve = true;
cpt++;
}
cpt--;
if (trouve)
{
string[,] newTableau = new string [lignes,colonnes + 1];
// tu remplis avec les anciennes valeurs pour tout ce qui se trouve avant la nouvelle colonne
for (int i =0; i < tableauOrigine.GetLength(0); i++)
{
for (int j =0; j <= cpt; j++)
{
newTableau[i,j] = tableauOrigine[i,j];
}
}
// tu insère la nouvelle colonne à vide
for (int k =0; k < tableauOrigine.GetLength(0); k++)
newTableau[k,cpt+1] = "";
// tu complète avec le reste de l'ancien tableau, attention au décalage des indices
for (int l =0; l < tableauOrigine.GetLength(0); l++)
{
for (int m =cpt+2; m < tableauOrigine.GetLength(1) + 1; m++)
{
newTableau[i,m] = tableauOrigine[l,m-1];
}
}
tableauOrigine = newTableau;
} |
Partager