Sfida: Array Multidimensionali
A volte è utile dichiarare costanti per indicizzare array multidimensionali. Di seguito è riportato l'array dal quiz del capitolo precedente:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Abbiamo creato due costanti FRUITS e VEGETABLES con valori 0 e 1, che rappresentano rispettivamente la riga 0 per la frutta e la riga 1 per la verdura nell'array foods.
Quindi, se dobbiamo accedere all'elemento "Cabbage" tra le verdure, possiamo semplicemente scrivere:
main.cs
1foods[VEGETABLES][1];
Questo trucco potrebbe non essere troppo utile in array più piccoli come questo stesso, tuttavia quando si lavora con array più complessi, costanti come queste possono aiutare ad accedere facilmente agli elementi dell'array, così da non dover memorizzare quale riga contiene quali elementi - nel caso in cui abbiamo categorizzato gli elementi nelle righe.
Ora la sfida è creare un array 2D di tipo string e chiamato productOptions, con una forma 4x3 (4 righe, 3 colonne). Inizializzalo con i seguenti dati:
- Riga 1:
"Red", "Green", "White"; - Riga 2:
"Square", "Rectangle", "Sphere"; - Riga 3:
"Thick", "Medium", "Thin"; - Riga 4:
"Printed", "Crafted", "None".
Accedi all'elemento "Crafted" tramite indicizzazione e stampalo. Utilizza la variabile costante rilevante per questo.
main.cs
123456789101112131415161718192021222324using 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]); } } }
- Per dichiarare un array multidimensionale si aggiungono virgole all'interno delle parentesi quadre (
[]) a seconda delle dimensioni dell'array. Ad esempio, un array di interi 3D si dichiara comeint[,,] arrayName = { ... };. - È valido utilizzare valori di variabili o costanti nell'indicizzazione.
Ad esempio, se abbiamo un array
int[] exampleArray = { 1, 2, 3, 4, 5 };e una costanteconst int someIndex = 2, è corretto scrivereexampleArray[someIndex]per accedere all'elemento 3 dell'array.
main.cs
123456789101112131415161718192021222324252627using 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]); } } }
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you show me how to declare the constants for the rows in this new array?
What would the code look like to access and print the "Crafted" element using a constant?
Can you explain why using constants for indexing is helpful in larger arrays?
Awesome!
Completion rate improved to 1.59
Sfida: Array Multidimensionali
Scorri per mostrare il menu
A volte è utile dichiarare costanti per indicizzare array multidimensionali. Di seguito è riportato l'array dal quiz del capitolo precedente:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Abbiamo creato due costanti FRUITS e VEGETABLES con valori 0 e 1, che rappresentano rispettivamente la riga 0 per la frutta e la riga 1 per la verdura nell'array foods.
Quindi, se dobbiamo accedere all'elemento "Cabbage" tra le verdure, possiamo semplicemente scrivere:
main.cs
1foods[VEGETABLES][1];
Questo trucco potrebbe non essere troppo utile in array più piccoli come questo stesso, tuttavia quando si lavora con array più complessi, costanti come queste possono aiutare ad accedere facilmente agli elementi dell'array, così da non dover memorizzare quale riga contiene quali elementi - nel caso in cui abbiamo categorizzato gli elementi nelle righe.
Ora la sfida è creare un array 2D di tipo string e chiamato productOptions, con una forma 4x3 (4 righe, 3 colonne). Inizializzalo con i seguenti dati:
- Riga 1:
"Red", "Green", "White"; - Riga 2:
"Square", "Rectangle", "Sphere"; - Riga 3:
"Thick", "Medium", "Thin"; - Riga 4:
"Printed", "Crafted", "None".
Accedi all'elemento "Crafted" tramite indicizzazione e stampalo. Utilizza la variabile costante rilevante per questo.
main.cs
123456789101112131415161718192021222324using 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]); } } }
- Per dichiarare un array multidimensionale si aggiungono virgole all'interno delle parentesi quadre (
[]) a seconda delle dimensioni dell'array. Ad esempio, un array di interi 3D si dichiara comeint[,,] arrayName = { ... };. - È valido utilizzare valori di variabili o costanti nell'indicizzazione.
Ad esempio, se abbiamo un array
int[] exampleArray = { 1, 2, 3, 4, 5 };e una costanteconst int someIndex = 2, è corretto scrivereexampleArray[someIndex]per accedere all'elemento 3 dell'array.
main.cs
123456789101112131415161718192021222324252627using 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]); } } }
Grazie per i tuoi commenti!