Kursinhalt
C# Grundlagen
C# Grundlagen
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:
main
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:
main
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.
main
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]); } } }
- 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 wieint[,,] arrayName = { ... };
deklariert werden. - 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 Konstanteconst int someIndex = 2
haben, ist es zulässig,exampleArray[someIndex]
zu schreiben, um das Element 3 aus dem Array zuzugreifen.
main
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]); } } }
Danke für Ihr Feedback!