Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Mehrdimensionale Arrays | Arrays
C# Grundlagen
course content

Kursinhalt

C# Grundlagen

C# Grundlagen

1. Erste Schritte
2. Umgang mit Datentypen
3. Kontrollstrukturen
4. Schleifen
5. Arrays
6. Methoden

book
Herausforderung: Mehrdimensionale Arrays

Es ist manchmal nützlich, Konstanten für das Indizieren von mehrdimensionalen Arrays zu deklarieren. Folgendes ist das Array aus dem Quiz des letzten Kapitels:

cs

main

copy
1234567
const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };

Wir haben zwei Konstanten FRUITS und VEGETABLES mit den Werten 0 und 1 erstellt, die die Zeilen 0 für Früchte und 1 für Gemüse im foods Array darstellen.

Wenn wir also das Element "Cabbage" aus Gemüse abrufen müssen, können wir einfach schreiben:

cs

main

copy
1
foods[VEGETABLES][1];

Dieser Trick mag bei kleineren Arrays wie diesem hier selbst nicht allzu hilfreich sein, aber wenn man mit komplexeren Arrays arbeitet, können Konstanten wie diese helfen, einfach auf Elemente des Arrays zuzugreifen, sodass wir uns nicht merken müssen, welche Zeile welche Elemente enthält - falls wir Elemente in Zeilen kategorisiert haben.

Nun besteht die Herausforderung darin, ein 2D-Array vom Typ string zu erstellen und es productOptions zu nennen, mit einer 4x3-Form (4 Zeilen, 3 Spalten). Initialisieren Sie es mit den folgenden Daten:

  • Zeile 1: "Red", "Green", "White";
  • Zeile 2: "Square", "Rectangle", "Sphere";
  • Zeile 3: "Thick", "Medium", "Thin";
  • Zeile 4: "Printed", "Crafted", "None".

Zugreifen auf das "Crafted"-Element über Indexierung und ausgeben. Verwenden Sie die relevante Konstantenvariable dafür.

cs

main

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. Um ein mehrdimensionales Array zu deklarieren, fügen wir je nach Dimensionen des Arrays Kommas in die eckigen Klammern ([]) ein. Zum Beispiel würde ein 3D-Integer-Array wie int[,,] arrayName = { ... }; deklariert werden.
  2. Es ist zulässig, Variablen- oder Konstantenwerte in der Indexierung zu verwenden. Zum Beispiel, wenn wir ein Array int[] exampleArray = { 1, 2, 3, 4, 5 }; und eine Konstante const int someIndex = 2 haben, ist es zulässig, exampleArray[someIndex] zu schreiben, um das Element 3 aus dem Array zuzugreifen.
cs

main

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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 6
We're sorry to hear that something went wrong. What happened?
some-alt