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#

book
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 :

cs

main

copy
const int FRUITS = 0;
const int VEGETABLES = 1;

string[,] foods = {
{ "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits
{ "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables
};
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 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 :

cs

main

copy
foods[VEGETABLES][1];
1
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.

cs

main

copy
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]);
}
}
}
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, 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é comme int[,,] arrayName = { ... };.
  2. 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 constante const int someIndex = 2, il est valide d'écrire exampleArray[someIndex] pour accéder à l'élément 3 du tableau.
cs

main

copy
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]);
}
}
}
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
We use cookies to make your experience better!
some-alt