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