BESTE WEBSITE FÜR WEBENTWICKLER
C# Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C# Mehrdimensionale Arrays


Mehrdimensionale Arrays

Im vorherigen Kapitel haben Sie etwas über Arrays gelernt, die auch als eindimensionale Arrays bekannt sind. Diese sind großartig und etwas, das Sie beim Programmieren in C# häufig verwenden werden. Wenn Sie Daten jedoch in tabellarischer Form speichern möchten, beispielsweise in einer Tabelle mit Zeilen und Spalten, müssen Sie sich mit mehrdimensionalen Arrays vertraut machen.

Ein mehrdimensionales Array ist im Grunde ein Array von Arrays.

Arrays können beliebig viele Dimensionen haben. Am gebräuchlichsten sind zweidimensionale Arrays (2D).


Zweidimensionale Arrays

Um ein 2D-Array zu erstellen, fügen Sie jedes Array in seinen eigenen Satz geschweifter Klammern ein und fügen Sie ein Komma (,) in die eckigen Klammern ein:

Beispiel

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };

Gut zu wissen: das einzelne Komma [,] gibt an, dass das Array zweidimensional ist. Ein dreidimensionales Array hätte zwei Kommas: int[,,].

numbers ist jetzt ein Array mit zwei Arrays als Elementen. Das erste Array-Element enthält drei Elemente: 1, 4 und 2, während das zweite Array-Element 3, 6 und 8 enthält. Stellen Sie sich das Array zur Visualisierung als eine Tabelle mit Zeilen und Spalten vor:

  SPALTE 0 SPALTE 1 SPALTE 2
REIHE 0 1 4 2
REIHE 1 3 6 8

Greifen Sie auf Elemente eines 2D-Arrays zu

Um auf ein Element eines zweidimensionalen Arrays zuzugreifen, müssen Sie zwei Indizes angeben: einen für das Array und einen für das Element innerhalb dieses Arrays. Oder noch besser mit Blick auf die Tabellenvisualisierung; eine für die Zeile und eine für die Spalte (siehe Beispiel unten).

Diese Anweisung greift auf den Wert des Elements in der ersten Zeile (0) und dritten Spalte (2) des zu Zahlen-Array:

Beispiel

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Console.WriteLine(numbers[0, 2]);  // Ausgänge 2

Try it Yourself »

Denken Sie daran: Array-Indizes beginnen mit 0: [0] ist das erste Element. [1] ist das zweite Element usw.


Elemente eines 2D-Arrays ändern

Sie können auch den Wert eines Elements ändern.

Das folgende Beispiel ändert den Wert des Elements in der ersten Zeile (0) und ersten Spalte (0):

Beispiel

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
numbers[0, 0] = 5;  // Wert auf 5 ändern
Console.WriteLine(numbers[0, 0]); // Ausgänge 5 statt 1

Try it Yourself »


Schleife durch ein 2D-Array

Sie können die Elemente eines zweidimensionalen Arrays ganz einfach mit einer foreach-Schleife durchlaufen:

Beispiel

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
foreach (int i in numbers)
{
Console.WriteLine(i);
} 

Try it Yourself »

Sie können auch eine for-Schleife verwenden. Für mehrdimensionale Arrays benötigen Sie eine Schleife für jede Dimension des Arrays.

Beachten Sie außerdem, dass wir GetLength() anstelle von Length verwenden müssen, um anzugeben, wie oft Schleife sollte laufen:

Beispiel

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
for (int i = 0; i < numbers.GetLength(0); i++)
{
for (int j = 0; j < numbers.GetLength(1); j++)
{
Console.WriteLine(numbers[i, j]);
}
}  

Try it Yourself »