Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Flerdimensjonale Matriser | Arrayer
C#-Grunnleggende

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

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

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

main.cs

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

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. 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 = { ... };.
  2. 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 konstant const int someIndex = 2, er det gyldig å skrive exampleArray[someIndex] for å få tilgang til elementet 3 fra arrayet.
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]); } } }

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 6

Spør AI

expand

Spør AI

ChatGPT

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

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

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

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

main.cs

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

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. 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 = { ... };.
  2. 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 konstant const int someIndex = 2, er det gyldig å skrive exampleArray[someIndex] for å få tilgang til elementet 3 fra arrayet.
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]); } } }

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 6
some-alt