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.
L'accès aux éléments d'un tableau 2D utilise une syntaxe similaire à celle des tableaux ordinaires, 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 décalés (int[][]). Cette leçon porte sur les tableaux décalés, où chaque ligne est son propre tableau.
Créez un tableau dédenté (jagged array) 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];Assigner 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];Puisque les index commencent à 0, l'index de ligne 0 est la 1ère ligne et l'index de colonne 3 est la 4ème colonne.
N'oubliez pas que les indices de tableau commencent à 0, donc les plages d'indices valides sont :
- Lignes : indice 0 à 2 (pour un tableau de 3 lignes — la 1ère ligne est l'indice 0, la 2ème est l'indice 1, la 3ème est l'indice 2)
- Colonnes : indice 0 à 3 (pour un tableau de 4 colonnes — la 1ère colonne est l'indice 0, la 2ème est l'indice 1, et ainsi de suite)
grid[3][2]), vous obtiendrez une IndexOutOfRangeException.Défi
MoyenÉcrivez une méthode nommée getElement qui prend trois arguments :
- Un tableau d'entiers à deux dimensions (
int[][] matrix) - Un index de ligne (
int row) - Un index de colonne (
int col)
La méthode doit retourner l'élément à la position spécifiée si les indices sont valides. Si l'un des indices est hors limites, la méthode doit retourner -1.
Aide-mémoire
Accédez aux éléments d'un tableau 2D en utilisant deux indices : [row][column]
Créez un tableau 2D :
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Attribuez une valeur :
grid[1][2] = 42;Lisez une valeur :
int value = grid[0][3];Les indices de tableau commencent à 0. L'accès à des éléments en dehors des plages valides lève une exception IndexOutOfRangeException.
Essayez vous-même
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// Écrivez votre code ici
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety