Kursinhalt
C# Grundlagen
C# Grundlagen
Mehrdimensionale Arrays
Arrays können auch zusätzliche Arrays in sich haben. Solche Arrays werden mehrdimensionale Arrays genannt. Diese sind nützlich, wenn wir Daten in tabellarischer Form speichern möchten, mit Zeilen und Spalten, oder in Form einer Matrix.
Wir können ein zweidimensionales Array mit folgendem Syntax deklarieren:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
Das mit dem obigen Syntax erstellte Array hat die Länge (Größe) gleich lengthX
und jedes Element wird ein Array der Größe lengthY
sein:
main
int[,] numbers = new int[3,3];
Im obigen Fall erstellen wir eine neue zweidimensionale Matrix der Größe 3x3. Das bedeutet, dass sie 9
ganze Zahlen halten kann. Wir können ein 2D-Array mit folgendem Syntax initialisieren:
main
datatype [,] arrayName = { { element1, element2, ... }, { element1, element2, ...}, ... };
Betrachten Sie das Beispiel mit realen Werten:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; // Displaying the array foreach (int number in numbers) { Console.Write(number + " "); } } } }
Das obige ist eine 3x4-Matrix und kann 12 Elemente speichern. Die folgende Abbildung zeigt eine 3x3-Matrix in visualisierter Form:
Indexierung in mehrdimensionalen Arrays ist ähnlich wie bei normalen Arrays. Wir geben einfach den Zeilen- und Spaltenindex an.
main
arrayName[row, column];
Zum Beispiel, wenn wir auf 6
aus dem numbers
Array (wie in der Abbildung gezeigt) zugreifen möchten, greifen wir auf die 2. Zeile und die 3. Spalte zu:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[,] numbers = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; Console.WriteLine(numbers[1, 2]); // Output: 7 } } }
Höherdimensionale Arrays sind ebenfalls möglich, indem zusätzliche Kommas zur Deklarationssyntax hinzugefügt werden:
main
int[,,] myArray3D = new int[3, 4, 5]; int[,,,] myArray4D = new int[5, 4, 9, 10]; // Similarly more complex ones are possible as well using the same pattern
Im obigen Code hat myArray3D
60
Elemente (3x4x5), während myArray4D
1800
Elemente hat (5x4x9x10).
Folgendes zeigt, wie Sie ein 3D-Array initialisieren würden:
main
int[,,] numbers = { { {1, 2, 3}, { 4, 5, 6 }, {7, 8, 9} }, { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} }, { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };
Danke für Ihr Feedback!