Utfordring: Flerdimensjonale Matriser
Det er noen ganger nyttig å erklære konstanter for indeksering av flerdimensjonale matriser. Følgende er matrisen fra forrige kapittels 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 opprettet to konstanter, FRUITS og VEGETABLES, med verdiene 0 og 1, som representerer radene 0 for frukt og 1 for grønnsaker i foods-matrisen.
Så hvis vi trenger å få tilgang til elementet "Cabbage" fra grønnsaker, kan vi enkelt skrive:
main.cs
1foods[VEGETABLES][1];
Dette trikset er kanskje ikke så nyttig i mindre matriser som denne, men når man arbeider med mer komplekse matriser, kan slike konstanter hjelpe til med å enkelt få tilgang til elementer fra matrisen slik at vi slipper å huske hvilken rad som inneholder hvilke elementer – spesielt hvis vi har kategorisert elementer i rader.
Nå er utfordringen å opprette et 2D-array av typen string med navnet productOptions, med en 4x3-struktur (4 rader, 3 kolonner). Initialiser det med følgende data:
- Rad 1:
"Red", "Green", "White"; - Rad 2:
"Square", "Rectangle", "Sphere"; - Rad 3:
"Thick", "Medium", "Thin"; - Rad 4:
"Printed", "Crafted", "None".
Hent ut elementet "Crafted" ved hjelp av indeksering og skriv det ut. Bruk den relevante konstantvariabelen for 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 å erklære et flerdimensjonalt array legger vi til kommaer inne i hakeparentesene (
[]) avhengig av hvor mange dimensjoner arrayet har. For eksempel vil et 3D heltallsarray erklæres slik:int[,,] arrayName = { ... };. - Det er gyldig å bruke variabel- eller konstantverdier i indeksering.
For eksempel, hvis vi har et array
int[] exampleArray = { 1, 2, 3, 4, 5 };og en konstantconst int someIndex = 2, er det gyldig å skriveexampleArray[someIndex]for å få tilgang til 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]); } } }
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Utfordring: Flerdimensjonale Matriser
Sveip for å vise menyen
Det er noen ganger nyttig å erklære konstanter for indeksering av flerdimensjonale matriser. Følgende er matrisen fra forrige kapittels 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 opprettet to konstanter, FRUITS og VEGETABLES, med verdiene 0 og 1, som representerer radene 0 for frukt og 1 for grønnsaker i foods-matrisen.
Så hvis vi trenger å få tilgang til elementet "Cabbage" fra grønnsaker, kan vi enkelt skrive:
main.cs
1foods[VEGETABLES][1];
Dette trikset er kanskje ikke så nyttig i mindre matriser som denne, men når man arbeider med mer komplekse matriser, kan slike konstanter hjelpe til med å enkelt få tilgang til elementer fra matrisen slik at vi slipper å huske hvilken rad som inneholder hvilke elementer – spesielt hvis vi har kategorisert elementer i rader.
Nå er utfordringen å opprette et 2D-array av typen string med navnet productOptions, med en 4x3-struktur (4 rader, 3 kolonner). Initialiser det med følgende data:
- Rad 1:
"Red", "Green", "White"; - Rad 2:
"Square", "Rectangle", "Sphere"; - Rad 3:
"Thick", "Medium", "Thin"; - Rad 4:
"Printed", "Crafted", "None".
Hent ut elementet "Crafted" ved hjelp av indeksering og skriv det ut. Bruk den relevante konstantvariabelen for 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 å erklære et flerdimensjonalt array legger vi til kommaer inne i hakeparentesene (
[]) avhengig av hvor mange dimensjoner arrayet har. For eksempel vil et 3D heltallsarray erklæres slik:int[,,] arrayName = { ... };. - Det er gyldig å bruke variabel- eller konstantverdier i indeksering.
For eksempel, hvis vi har et array
int[] exampleArray = { 1, 2, 3, 4, 5 };og en konstantconst int someIndex = 2, er det gyldig å skriveexampleArray[someIndex]for å få tilgang til 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]); } } }
Takk for tilbakemeldingene dine!