Udfordring: Multidimensionelle Arrays
Det kan nogle gange være nyttigt at erklære konstanter til indeksering af multidimensionelle arrays. Følgende er arrayet fra sidste kapitels 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 oprettet to konstanter FRUITS og VEGETABLES med værdierne 0 og 1, som repræsenterer rækkerne 0 for frugter og 1 for grøntsager i foods arrayet.
Hvis vi derfor skal tilgå elementet "Cabbage" fra grøntsager, kan vi blot skrive:
main.cs
1foods[VEGETABLES][1];
Dette trick er måske ikke så nyttigt i mindre arrays som denne, men når man arbejder med mere komplekse arrays, kan konstanter som disse hjælpe med at lette adgangen til elementer fra arrayet, så vi ikke behøver at huske hvilken række indeholder hvilke elementer – især hvis vi har kategoriseret elementer i rækker.
Nu er udfordringen at oprette et 2D-array af typen string med navnet productOptions, med en 4x3 struktur (4 rækker, 3 kolonner). Initialiser det med følgende data:
- Række 1:
"Red", "Green", "White"; - Række 2:
"Square", "Rectangle", "Sphere"; - Række 3:
"Thick", "Medium", "Thin"; - Række 4:
"Printed", "Crafted", "None".
Tilgå elementet "Crafted" via indeksering og udskriv det. Brug den relevante konstantvariabel til dette.
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]); } } }
- For at erklære et multidimensionelt array tilføjes kommaer inde i de firkantede parenteser (
[]) afhængigt af arrayets dimensioner. For eksempel vil et 3D heltalsarray blive erklæret somint[,,] arrayName = { ... };. - Det er gyldigt at bruge variabel- eller konstantværdier i indeksering.
For eksempel, hvis vi har et array
int[] exampleArray = { 1, 2, 3, 4, 5 };og en konstantconst int someIndex = 2, er det gyldigt at skriveexampleArray[someIndex]for at tilgå elementet 3 fra arrayet.
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]); } } }
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 1.59
Udfordring: Multidimensionelle Arrays
Stryg for at vise menuen
Det kan nogle gange være nyttigt at erklære konstanter til indeksering af multidimensionelle arrays. Følgende er arrayet fra sidste kapitels 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 oprettet to konstanter FRUITS og VEGETABLES med værdierne 0 og 1, som repræsenterer rækkerne 0 for frugter og 1 for grøntsager i foods arrayet.
Hvis vi derfor skal tilgå elementet "Cabbage" fra grøntsager, kan vi blot skrive:
main.cs
1foods[VEGETABLES][1];
Dette trick er måske ikke så nyttigt i mindre arrays som denne, men når man arbejder med mere komplekse arrays, kan konstanter som disse hjælpe med at lette adgangen til elementer fra arrayet, så vi ikke behøver at huske hvilken række indeholder hvilke elementer – især hvis vi har kategoriseret elementer i rækker.
Nu er udfordringen at oprette et 2D-array af typen string med navnet productOptions, med en 4x3 struktur (4 rækker, 3 kolonner). Initialiser det med følgende data:
- Række 1:
"Red", "Green", "White"; - Række 2:
"Square", "Rectangle", "Sphere"; - Række 3:
"Thick", "Medium", "Thin"; - Række 4:
"Printed", "Crafted", "None".
Tilgå elementet "Crafted" via indeksering og udskriv det. Brug den relevante konstantvariabel til dette.
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]); } } }
- For at erklære et multidimensionelt array tilføjes kommaer inde i de firkantede parenteser (
[]) afhængigt af arrayets dimensioner. For eksempel vil et 3D heltalsarray blive erklæret somint[,,] arrayName = { ... };. - Det er gyldigt at bruge variabel- eller konstantværdier i indeksering.
For eksempel, hvis vi har et array
int[] exampleArray = { 1, 2, 3, 4, 5 };og en konstantconst int someIndex = 2, er det gyldigt at skriveexampleArray[someIndex]for at tilgå elementet 3 fra arrayet.
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]); } } }
Tak for dine kommentarer!