Kursinhalt
C# Grundlagen
C# Grundlagen
Mehrdimensionale Arrays
Arrays können auch weitere Arrays in sich enthalten. Solche Arrays werden als mehrdimensionale Arrays bezeichnet. Diese sind nützlich, wenn Daten in tabellarischer Form mit Zeilen und Spalten oder als Matrix gespeichert werden sollen.
Ein zweidimensionales Array kann mit folgender Syntax deklariert werden:
main
datatype[][] arrayName = new datatype[lengthX, lengthY];
Das mit der obigen Syntax erstellte Array hat die Länge (Größe) lengthX
und jedes Element ist ein Array der Größe lengthY
:
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
Ganzzahlen speichern kann. Wir können ein zweidimensionales Array mit der folgenden 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 + " "); } } } }
Oben sehen Sie eine 3x4-Matrix, die 12 Elemente speichern kann. Die folgende Abbildung zeigt eine 3x3-Matrix in visualisierter Form:
Indizierung in mehrdimensionalen Arrays ähnelt der in normalen Arrays. Es werden einfach der Zeilen- und der Spaltenindex angegeben.
main
arrayName[row, column];
Wenn wir zum Beispiel auf die 6
im Array numbers
(wie in der Abbildung gezeigt) zugreifen möchten, greifen wir auf die 2. Zeile und die 2. 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 (5x4x9x10) enthält.
Nachfolgend wird gezeigt, wie ein 3D-Array initialisiert wird:
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!