Bases des tableaux 2D
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 1 sur 66.
En C#, un tableau dentelé est un tableau de tableaux, formant une grille ou une structure semblable à une matrice. C'est comme un tableau avec des lignes et des colonnes, où chaque cellule peut contenir une valeur. Les tableaux dentelés sont utiles pour représenter des données ayant une relation bidimensionnelle, comme un échiquier, un plan de salle ou un jeu basé sur une grille.
Voici comment déclarer et initialiser un tableau en dents de scie en C# :
data_type[][] arrayName = new dataType[numberOfRows][];dataType : Le type d'éléments que le tableau contiendra (p. ex., int, string, etc.).
arrayName : Le nom que vous donnez au tableau.
numberOfRows : Le nombre de lignes dans le tableau.
Chaque ligne doit ensuite être initialisée séparément :
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// and so on...Par exemple, pour créer un tableau à dimensions irrégulières d'entiers avec 3 lignes, où chaque ligne a 4 colonnes, vous écririez :
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Vous pouvez également initialiser un tableau à dimensions irrégulières directement avec des valeurs :
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Défi
FacileInitialisez un tableau à dimensions irrégulières avec les valeurs suivantes :
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Votre tâche est d'initialiser correctement le tableau à dimensions irrégulières avec ces valeurs exactes et de vous assurer que le programme imprime correctement la matrice.
Aide-mémoire
Un tableau à dimensions irrégulières est un tableau de tableaux, formant une structure de type matrice avec des lignes et des colonnes.
Syntaxe de déclaration :
data_type[][] arrayName = new dataType[numberOfRows][];Chaque ligne doit être initialisée séparément :
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];Exemple avec initialisation séparée :
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Initialisation directe avec des valeurs :
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Essayez vous-même
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Écrivez votre code ici
};
// Afficher la matrice
int rows = matrix.Length;
for (int i = 0; i < rows; i++)
{
int cols = matrix[i].Length;
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i][j] + " ");
}
Console.WriteLine();
}
}
}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