Utmaning: Flerdimensionella Arrayer
Det är ibland användbart att deklarera konstanter för att indexera flerdimensionella arrayer. Följande är arrayen från förra kapitlets quiz:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Vi har skapat två konstanter FRUITS och VEGETABLES med värdena 0 och 1, som representerar raderna 0 för frukt och 1 för grönsaker i arrayen foods.
Om vi behöver komma åt elementet "Cabbage" från grönsaker kan vi helt enkelt skriva:
main.cs
1foods[VEGETABLES][1];
Detta knep är kanske inte så användbart i mindre arrayer som denna, men när man arbetar med mer komplexa arrayer kan konstanter som dessa hjälpa till att enkelt komma åt element från arrayen så att vi inte behöver memorera vilken rad som innehåller vilka element – särskilt om vi har kategoriserat element i rader.
Nu är utmaningen att skapa en 2D-array av typen string med namnet productOptions, med en 4x3 struktur (4 rader, 3 kolumner). Initiera den med följande data:
- Rad 1:
"Red", "Green", "White"; - Rad 2:
"Square", "Rectangle", "Sphere"; - Rad 3:
"Thick", "Medium", "Thin"; - Rad 4:
"Printed", "Crafted", "None".
Hämta elementet "Crafted" via indexering och skriv ut det. Använd den relevanta konstantvariabeln för detta.
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]); } } }
- För att deklarera en multidimensionell array lägger vi till kommatecken inuti hakparenteserna (
[]) beroende på arrayens dimensioner. Till exempel skulle en 3D heltalsarray deklareras somint[,,] arrayName = { ... };. - Det är giltigt att använda variabel- eller konstantvärden vid indexering.
Till exempel, om vi har en array
int[] exampleArray = { 1, 2, 3, 4, 5 };och en konstantconst int someIndex = 2, är det giltigt att skrivaexampleArray[someIndex]för att komma åt elementet 3 från arrayen.
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]); } } }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Utmaning: Flerdimensionella Arrayer
Svep för att visa menyn
Det är ibland användbart att deklarera konstanter för att indexera flerdimensionella arrayer. Följande är arrayen från förra kapitlets quiz:
main.cs
1234567const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };
Vi har skapat två konstanter FRUITS och VEGETABLES med värdena 0 och 1, som representerar raderna 0 för frukt och 1 för grönsaker i arrayen foods.
Om vi behöver komma åt elementet "Cabbage" från grönsaker kan vi helt enkelt skriva:
main.cs
1foods[VEGETABLES][1];
Detta knep är kanske inte så användbart i mindre arrayer som denna, men när man arbetar med mer komplexa arrayer kan konstanter som dessa hjälpa till att enkelt komma åt element från arrayen så att vi inte behöver memorera vilken rad som innehåller vilka element – särskilt om vi har kategoriserat element i rader.
Nu är utmaningen att skapa en 2D-array av typen string med namnet productOptions, med en 4x3 struktur (4 rader, 3 kolumner). Initiera den med följande data:
- Rad 1:
"Red", "Green", "White"; - Rad 2:
"Square", "Rectangle", "Sphere"; - Rad 3:
"Thick", "Medium", "Thin"; - Rad 4:
"Printed", "Crafted", "None".
Hämta elementet "Crafted" via indexering och skriv ut det. Använd den relevanta konstantvariabeln för detta.
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]); } } }
- För att deklarera en multidimensionell array lägger vi till kommatecken inuti hakparenteserna (
[]) beroende på arrayens dimensioner. Till exempel skulle en 3D heltalsarray deklareras somint[,,] arrayName = { ... };. - Det är giltigt att använda variabel- eller konstantvärden vid indexering.
Till exempel, om vi har en array
int[] exampleArray = { 1, 2, 3, 4, 5 };och en konstantconst int someIndex = 2, är det giltigt att skrivaexampleArray[someIndex]för att komma åt elementet 3 från arrayen.
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]); } } }
Tack för dina kommentarer!