Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Tableaux Multidimensionnels | Tableaux
Bases de C#

bookDéfi : Tableaux Multidimensionnels

Il est parfois utile de déclarer des constantes pour l'indexation des tableaux multidimensionnels. Voici le tableau issu du quiz du chapitre précédent :

main.cs

main.cs

copy
1234567
const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };

Nous avons créé deux constantes FRUITS et VEGETABLES avec les valeurs 0 et 1, représentant respectivement les lignes 0 pour les fruits et 1 pour les légumes dans le tableau foods.

Ainsi, si nous devons accéder à l'élément "Cabbage" parmi les légumes, il suffit d'écrire :

main.cs

main.cs

copy
1
foods[VEGETABLES][1];

Cette astuce peut ne pas être très utile dans des tableaux plus petits comme celui-ci, cependant, lors de la manipulation de tableaux plus complexes, des constantes comme celles-ci peuvent faciliter l’accès aux éléments du tableau, évitant ainsi d’avoir à mémoriser quelle ligne contient quels éléments – notamment si les éléments sont catégorisés par ligne.

Le défi consiste maintenant à créer un tableau 2D de type string nommé productOptions, ayant une forme 4x3 (4 lignes, 3 colonnes). Initialisez-le avec les données suivantes :

  • Ligne 1 : "Red", "Green", "White";
  • Ligne 2 : "Square", "Rectangle", "Sphere";
  • Ligne 3 : "Thick", "Medium", "Thin";
  • Ligne 4 : "Printed", "Crafted", "None".

Accédez à l’élément "Crafted" via indexation et affichez-le. Utilisez la variable constante appropriée pour cela.

main.cs

main.cs

copy
123456789101112131415161718192021222324
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
  1. Pour déclarer un tableau multidimensionnel, il faut ajouter des virgules à l'intérieur des crochets ([]) en fonction du nombre de dimensions du tableau. Par exemple, un tableau d'entiers en 3D se déclare ainsi : int[,,] arrayName = { ... };.
  2. Il est possible d'utiliser des variables ou des constantes pour l'indexation. Par exemple, si l'on dispose d'un tableau int[] exampleArray = { 1, 2, 3, 4, 5 }; et d'une constante const int someIndex = 2, il est valide d'écrire exampleArray[someIndex] pour accéder à l'élément 3 du tableau.
main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 1.59

bookDéfi : Tableaux Multidimensionnels

Glissez pour afficher le menu

Il est parfois utile de déclarer des constantes pour l'indexation des tableaux multidimensionnels. Voici le tableau issu du quiz du chapitre précédent :

main.cs

main.cs

copy
1234567
const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };

Nous avons créé deux constantes FRUITS et VEGETABLES avec les valeurs 0 et 1, représentant respectivement les lignes 0 pour les fruits et 1 pour les légumes dans le tableau foods.

Ainsi, si nous devons accéder à l'élément "Cabbage" parmi les légumes, il suffit d'écrire :

main.cs

main.cs

copy
1
foods[VEGETABLES][1];

Cette astuce peut ne pas être très utile dans des tableaux plus petits comme celui-ci, cependant, lors de la manipulation de tableaux plus complexes, des constantes comme celles-ci peuvent faciliter l’accès aux éléments du tableau, évitant ainsi d’avoir à mémoriser quelle ligne contient quels éléments – notamment si les éléments sont catégorisés par ligne.

Le défi consiste maintenant à créer un tableau 2D de type string nommé productOptions, ayant une forme 4x3 (4 lignes, 3 colonnes). Initialisez-le avec les données suivantes :

  • Ligne 1 : "Red", "Green", "White";
  • Ligne 2 : "Square", "Rectangle", "Sphere";
  • Ligne 3 : "Thick", "Medium", "Thin";
  • Ligne 4 : "Printed", "Crafted", "None".

Accédez à l’élément "Crafted" via indexation et affichez-le. Utilisez la variable constante appropriée pour cela.

main.cs

main.cs

copy
123456789101112131415161718192021222324
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
  1. Pour déclarer un tableau multidimensionnel, il faut ajouter des virgules à l'intérieur des crochets ([]) en fonction du nombre de dimensions du tableau. Par exemple, un tableau d'entiers en 3D se déclare ainsi : int[,,] arrayName = { ... };.
  2. Il est possible d'utiliser des variables ou des constantes pour l'indexation. Par exemple, si l'on dispose d'un tableau int[] exampleArray = { 1, 2, 3, 4, 5 }; et d'une constante const int someIndex = 2, il est valide d'écrire exampleArray[someIndex] pour accéder à l'élément 3 du tableau.
main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 6
some-alt