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 dédenté (jagged array) est un tableau de tableaux, formant une grille ou une structure de type matrice. C'est comme un tableau avec des lignes et des colonnes, où chaque cellule peut contenir une valeur. Les tableaux dédentés sont utiles pour représenter des données qui ont 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 dentelé (jagged array) en C# :
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Le type d'éléments que le tableau contiendra (par 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];
// et ainsi de suite...Par exemple, pour créer un tableau dédenté 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 dentelé directement avec des valeurs :
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Remarque : Cette plateforme utilise un compilateur antérieur à C# 12. La syntaxe d'expression de collection plus courte introduite dans C# 12 (par exemple, int[][] matrix = [[1, 2], [3, 4]];) n'est pas prise en charge ici. Veuillez utiliser la syntaxe d'initialisation traditionnelle new int[][] { ... } illustrée ci-dessus.
Défi
FacileInitialisez un tableau décalé (jagged array) 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 consiste à initialiser correctement le tableau décalé avec ces valeurs exactes et à vous assurer que le programme imprime correctement la matrice.
Remarque : Cette plateforme utilise un compilateur antérieur à C# 12. La syntaxe d'expression de collection de C# 12 (par exemple, int[][] matrix = [[1, 2], [3, 4]];) n'est pas prise en charge. Utilisez plutôt la syntaxe d'initialisation traditionnelle :int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
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