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 rowAccéder aux éléments en utilisant deux indices [row][column] :
grid[1][2] = 42; // Assign value
int value = grid[0][3]; // Read valueLes 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.
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