Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Array Multidimensionali | Array
Fondamenti di C#

bookSfida: Array Multidimensionali

A volte è utile dichiarare costanti per indicizzare array multidimensionali. Di seguito è riportato l'array dal quiz del capitolo precedente:

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 };

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

main.cs

copy
1
foods[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

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. 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 come int[,,] arrayName = { ... };.
  2. È valido utilizzare valori di variabili o costanti nell'indicizzazione. Ad esempio, se abbiamo un array int[] exampleArray = { 1, 2, 3, 4, 5 }; e una costante const int someIndex = 2, è corretto scrivere exampleArray[someIndex] per accedere all'elemento 3 dell'array.
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]); } } }

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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

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

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 };

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

main.cs

copy
1
foods[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

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. 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 come int[,,] arrayName = { ... };.
  2. È valido utilizzare valori di variabili o costanti nell'indicizzazione. Ad esempio, se abbiamo un array int[] exampleArray = { 1, 2, 3, 4, 5 }; e una costante const int someIndex = 2, è corretto scrivere exampleArray[someIndex] per accedere all'elemento 3 dell'array.
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]); } } }

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6
some-alt