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)
grid[3][2]), vous obtiendrez une IndexOutOfRangeException.Défi
MoyenÉcrivez une méthode nommée getElement qui accepte trois arguments :
- Un tableau d’entiers à 2 dimensions (
int[][] matrix) - Un index de ligne (
int row) - 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
}
}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 SafetyEntraînez-vous par vous-même : Compilateur C# en ligne