Menu
Coddy logo textTech

Accès aux éléments d'un tableau 2D

Fait partie de la section Logique & Flux du Journey C# de Coddy. Leçon 3 sur 66.

Accéder aux éléments d’un tableau 2D utilise une syntaxe similaire à celle des tableaux classiques, mais nécessite deux indices : un pour la ligne et un pour la colonne.

Remarque : En C#, il existe deux types de tableaux multidimensionnels : les tableaux rectangulaires (int[,]) et les tableaux en dents de scie (int[][]). Cette leçon porte sur les tableaux en dents de scie, dans lesquels chaque ligne est son propre tableau.

Créez un tableau irrégulier 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];

Attribuez une valeur à une position spécifique (index de ligne 1, index de colonne 2) :

grid[1][2] = 42;

Lire une valeur à partir d’une position spécifique (index de ligne 0, index de colonne 3) :

int value = grid[0][3];

Comme les index commencent à 0, l’index de ligne 0 correspond à la 1re ligne et l’index de colonne 3 à la 4e colonne.

N’oublie pas que les indices des tableaux commencent à 0, donc les plages d’indices valides sont les suivantes :

  • Lignes : indice de 0 à 2 (pour un tableau de 3 lignes : la 1re ligne est l’indice 0, la 2e est l’indice 1 et la 3e est l’indice 2)
  • Colonnes : indice de 0 à 3 (pour un tableau de 4 colonnes : la 1re colonne est l’indice 0, la 2e est l’indice 1, et ainsi de suite)
Si vous essayez d’accéder à un élément en dehors de ces plages (comme grid[3][2]), vous obtiendrez une IndexOutOfRangeException.
challenge icon

Défi

Moyen

Écrivez une méthode nommée getElement qui accepte trois arguments :

  1. Un tableau d’entiers à 2 dimensions (int[][] matrix)
  2. Un index de ligne (int row)
  3. Un index de colonne (int col)

La méthode doit renvoyer l’élément à la position spécifiée si les index sont valides. Si l’un ou l’autre des index est hors limites, la méthode doit renvoyer -1.

Essayez vous-même

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // Écrivez votre code ici
    }
}
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

Entraînez-vous par vous-même : Compilateur C# en ligne