Contenu du cours
Bases de C#
Bases de C#
Défi : Tableaux Multidimensionnels
Il est parfois utile de déclarer des constantes pour indexer des tableaux multidimensionnels. Voici le tableau du quiz du dernier chapitre :
main
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 les lignes 0
pour les fruits, et 1
pour les légumes dans le tableau foods
.
Donc, si nous devons accéder à l'élément "Cabbage"
des légumes, nous pouvons simplement écrire :
main
foods[VEGETABLES][1];
Ce truc pourrait ne pas être trop utile dans des tableaux plus petits comme celui-ci, cependant, lorsqu'on traite des tableaux plus complexes, des constantes comme celles-ci peuvent aider à accéder facilement aux éléments du tableau afin que nous n'ayons pas besoin de mémoriser quelle ligne contient quels éléments - au cas où nous aurions catégorisé les éléments en lignes.
Maintenant, le défi est de créer un tableau 2D de type string
et 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 l'indexation et affichez-le. Utilisez la variable constante pertinente pour cela.
main
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]); } } }
- Pour déclarer un tableau multidimensionnel, nous ajoutons des virgules à l'intérieur des crochets (
[]
) en fonction des dimensions du tableau. Par exemple, un tableau d'entiers 3D serait déclaré commeint[,,] arrayName = { ... };
. - Il est valide d'utiliser des valeurs de variables ou de constantes dans l'indexation.
Par exemple, si nous avons un tableau
int[] exampleArray = { 1, 2, 3, 4, 5 };
et une constanteconst int someIndex = 2
, il est valide d'écrireexampleArray[someIndex]
pour accéder à l'élément 3 du tableau.
main
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]); } } }
Merci pour vos commentaires !