Contenu du cours
Bases de C#
Bases de C#
Tableaux Multidimensionnels
Les tableaux peuvent également contenir des tableaux supplémentaires à l'intérieur d'eux. Ces tableaux sont appelés tableaux multidimensionnels. Ils sont utiles lorsque nous voulons stocker les données sous forme tabulaire, avec des lignes et des colonnes, ou sous forme de matrice.
Nous pouvons déclarer un tableau bidimensionnel en utilisant la syntaxe suivante :
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
Le tableau créé en utilisant la syntaxe ci-dessus aura une longueur (taille) égale à lengthX
et chaque élément sera un tableau de taille lengthY
:
main
int[,] numbers = new int[3,3];
Dans le cas ci-dessus, nous créons une nouvelle matrice bidimensionnelle de taille 3x3. Cela signifie qu'elle peut contenir 9
nombres entiers. Nous pouvons initialiser un tableau 2D en utilisant la syntaxe suivante :
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Considérons l'exemple avec des valeurs réelles :
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; // Displaying the array foreach (int number in numbers) { Console.Write(number + " "); } } } }
Ce qui précède est une matrice 3x4 et elle peut stocker 12 éléments. L'illustration suivante montre une matrice 3x3 sous une forme visualisée :
L'indexation dans les tableaux multidimensionnels est similaire à celle des tableaux normaux. Nous mentionnons simplement l'index de la ligne et de la colonne.
main
arrayName[row, column];
Par exemple, si nous voulons accéder à 6
dans le tableau numbers
(montré dans l'illustration), nous accéderons à la 2ème ligne et à la 3ème colonne :
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; Console.WriteLine(numbers[1, 2]); // Output: 7 } } }
Les tableaux de dimensions supérieures sont également possibles en ajoutant des virgules supplémentaires à la syntaxe de déclaration :
main
int[,,] myArray3D = new int[3, 4, 5]; int[,,,] myArray4D = new int[5, 4, 9, 10]; // Similarly more complex ones are possible as well using the same pattern
Dans le code ci-dessus, myArray3D
aura 60
éléments (3x4x5), tandis que myArray4D
aura 1800
éléments (5x4x9x10).
Voici comment vous initialiseriez un tableau 3D :
main
int[,,] numbers = { { {1, 2, 3}, { 4, 5, 6 }, {7, 8, 9} }, { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} }, { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };
Merci pour vos commentaires !