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
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!