Les tableaux à 2 dimensions
"Un tableau à 2 dimensions, c’est comme une grille ou un tableau Excel."
Qu’est-ce qu’un tableau à 2 dimensions ?
Un tableau à deux dimensions est une structure de données en forme de matrice (lignes x colonnes).
Chaque élément est repéré par deux indices : [ligne, colonne]. c'est ce qui se rapproche le plus aux tableaux Excel.
Déclaration générale
type[,] nomTableau = new type[NB_LIGNES, NB_COLONNES];
Exemple
int[,] notes = new int[3, 4];
Explication
| Élément | Signification |
|---|---|
int |
Type des éléments (ici : entiers) |
[,] |
Virgule = tableau à 2 dimensions |
notes |
Nom de la variable |
new int[3, 4] |
Crée un tableau avec 3 lignes et 4 colonnes |
Initialisation directe (optionnelle)
int[,] notes = {
{ 14, 12, 16, 13 },
{ 9, 10, 8, 11 },
{ 17, 15, 18, 13 }
};
➡️ Cela crée un tableau de 3 lignes × 4 colonnes avec les valeurs déjà placées.
Accéder à une valeur
int valeur = notes[1, 2];
- Les indices commencent à 0
- Ici, on lit la valeur en ligne 1, colonne 2
- Dans notre exemple :
notes[1, 2]vaut8
Modifier une valeur
notes[0, 1] = 20;
- Cette ligne remplace la valeur en ligne 0, colonne 1 (qui était 12) par 20
Parcourir un tableau 2D avec deux boucles for
for (int i = 0; i < notes.GetLength(0); i++) // lignes
{
for (int j = 0; j < notes.GetLength(1); j++) // colonnes
{
Console.Write(notes[i, j] + "\t");
}
Console.WriteLine(); // saut de ligne après chaque ligne
}
notes.GetLength(0)➜ nombre de lignesnotes.GetLength(1)➜ nombre de colonnes
Tableau récapitulatif
| Action | Code exemple | Description |
|---|---|---|
| Déclaration | int[,] tab = new int[3,4]; |
Crée un tableau 3×4 vide |
| Initialisation directe | int[,] tab = { {1,2}, {3,4} }; |
Remplit le tableau à la création |
| Accès à une valeur | tab[1, 0] |
Lit la case ligne 1, colonne 0 |
| Modifier une valeur | tab[0, 1] = 42; |
Modifie la case ligne 0, colonne 1 |
| Lire nb de lignes | tab.GetLength(0) |
Renvoie le nombre de lignes |
| Lire nb de colonnes | tab.GetLength(1) |
Renvoie le nombre de colonnes |
Parcours complet (double for) |
voir section ci-dessus | Pour lire ou modifier chaque case |
🧠 À retenir
Un tableau à 2 dimensions se comporte comme une grille de cases accessibles via deux indices :
[ligne, colonne].
Autres exemples
// Tableau a 2 dimensions
int[,] tab_int2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// la même chose en spécifiant les dimensions.
int[,] tab_int2Da = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
// un autre tableau de 2 dimension de chaine de caractère
string[,] tab_str2a = new string[3, 2] { { "one", "two" }, { "three", "four" }, { "five", "six" } };
⚠️ Erreurs fréquentes
- ❌ Indices inversés :
tableau[ligne, colonne]et nontableau[colonne, ligne] - ❌ Accès hors limites ➜
IndexOutOfRangeException - ❌ Confusion avec les tableaux de tableaux (jagged arrays)
en résumé
Quiz
Testez vos connaissances ! 📝 Clique sur chaque question pour découvrir la réponse.
1️⃣ Que représente
tableau[2,1] dans un tableau 2D ?
B. 3e ligne et 2e colonne
C. 2e ligne et 1re colonne
D. Élément aléatoire
E. Cela dépend de l’ordre d’initialisation
✅ Afficher la réponse
2️⃣ Quelle méthode donne le nombre de lignes d’un tableau 2D ?
B. tableau.Count
C. tableau.GetLength(0)
D. tableau.Size(0)
E. tableau.Rows
✅ Afficher la réponse
.GetLength(0) donne la taille de la première dimension (lignes).
3️⃣ Comment afficher tous les éléments d’un tableau 2D ?
B. Deux boucles foreach imbriquées
C. Une boucle while
D. Une boucle do...while
E. Une boucle foreach avec LINQ
✅ Afficher la réponse
4️⃣ Quelle erreur peut se produire si on accède à un indice inexistant ?
B. IndexOutOfRangeException
C. InvalidOperationException
D. ArgumentException
E. OverFlowException
✅ Afficher la réponse
IndexOutOfRangeException.
5️⃣ Comment déclare-t-on un tableau de 4 lignes et 5 colonnes ?
B. int[][] tab = new int[4][5];
C. int[4,5] tab;
D. array tab = int[4,5];
E. int tab(4,5);
✅ Afficher la réponse
int[,] tab = new int[4,5]; est la bonne syntaxe pour un tableau 2D en C#.
Pour aller plus loin
- Documentation Microsoft – Tableaux multidimensionnels
Explications complètes sur les tableaux 2D, avec initialisation, accès et boucles.
-
W3Schools – C# Multidimensional Arrays
Introduction simple avec exemples interactifs. -
Programiz – C# Multidimensional Arrays
Très clair pour comprendre les boucles imbriquées et l’accès aux éléments. -
Dot Net Tutorials – Multidimensional Arrays in C#
Article complet avec illustrations et erreurs courantes.
Navigation
Introduction Tableaux à 1 dimension Tableaux à 2 dimensions Travail pratique