Menu
Coddy logo textTech

Déclaration et initialisation en 2D

Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 2 sur 66.

Un tableau 2D en C# peut être créé en utilisant des tableaux dentelés, qui sont des tableaux de tableaux, vous permettant de stocker des données dans une structure en grille.

Pour créer un tableau à dimensions irrégulières d'entiers avec 3 lignes et 4 colonnes :

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

Le code ci-dessus crée un tableau 2D qui ressemble à ceci (tous les éléments initialisés à 0) :

[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]

Initialiser un tableau à dimensions irrégulières avec des valeurs :

int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};

Cela crée un tableau 2D avec 2 lignes et 3 colonnes, contenant les valeurs :

[1, 2, 3]
[4, 5, 6]

Pour obtenir le nombre de lignes et de colonnes :

int rows = matrix.Length;           // Returns 2
int columns = matrix[0].Length;     // Returns 3 (for the first row)

L'accès aux éléments d'un tableau 2D nécessite deux indices : un pour la ligne et un pour la colonne.

Assigner une valeur à une position spécifique (ligne 1, colonne 2) :

grid[1][2] = 42;

Lire une valeur à une position spécifique (ligne 0, colonne 3) :

int value = grid[0][3];

N'oubliez pas que les indices des tableaux commencent à 0, donc les plages valides sont :

  • Lignes : 0 à 2 (pour un tableau à 3 lignes)
  • Colonnes : 0 à 3 (pour un tableau à 4 colonnes)

Si vous essayez d'accéder à un élément en dehors de ces plages (comme grid[3][2]), vous obtiendrez une IndexOutOfRangeException.

Aide-mémoire

Créez un tableau en dents de scie (tableau 2D) en C# :

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

Initialiser avec des valeurs :

int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};

Obtenir les dimensions :

int rows = matrix.Length;           // Number of rows
int columns = matrix[0].Length;     // Number of columns in first row

Accéder aux éléments en utilisant deux indices [row][column] :

grid[1][2] = 42;        // Assign value
int value = grid[0][3]; // Read value

Les indices des tableaux commencent à 0. L'accès à des indices hors limites lève une IndexOutOfRangeException.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux