Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Multidimensionelle Arrays | Arrays
C# Grundlæggende

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

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

main.cs

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

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 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 som int[,,] arrayName = { ... };.
  2. 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 konstant const int someIndex = 2, er det gyldigt at skrive exampleArray[someIndex] for at tilgå 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]); } } }

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

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

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

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

main.cs

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

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 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 som int[,,] arrayName = { ... };.
  2. 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 konstant const int someIndex = 2, er det gyldigt at skrive exampleArray[someIndex] for at tilgå 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]); } } }

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 6
some-alt