Mehrdimensionale Arrays
Raster und gezackte Arrays.
Mehrdimensionale Arrays ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Mehr als eine Zeile
Bisher waren Arrays eine einzelne Zeile mit Werten. Ein mehrdimensionales Array speichert Werte in einem Raster, ähnlich wie eine Tabellenkalkulation mit Zeilen und Spalten.
Diese Arrays eignen sich hervorragend für Spielfelder, Tabellen und Matrizen.
Ein 2D-Array deklarieren
Ein zweidimensionales Array verwendet ein Komma in den eckigen Klammern: [,]. Sie geben zwei Größen an: die Anzahl der Zeilen und die Anzahl der Spalten.
Dieses Raster hat 2 Zeilen und 3 Spalten und enthält daher 6 Werte.
int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0Auf Zellen zugreifen
Um eine Zelle zu lesen oder zu schreiben, geben Sie den Index der Zeile und den Index der Spalte an, getrennt durch ein Komma.
Beide Indizes beginnen bei 0, genau wie bei eindimensionalen Arrays.
int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9Ein Raster initialisieren
Sie können ein 2D-Array bei der Erstellung mithilfe verschachtelter geschweifter Klammern füllen. Jede innere Gruppe entspricht einer Zeile.
Alle Zeilen müssen dieselbe Anzahl an Spalten haben.
int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4Die GetLength-Methode
Bei zwei Dimensionen liefert Length die Gesamtzahl der Zellen. Um die Größe einer einzelnen Dimension zu erhalten, verwenden Sie GetLength.
GetLength(0) gibt die Anzahl der Zeilen und GetLength(1) die Anzahl der Spalten zurück.
int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length); // 6
Console.WriteLine(grid.GetLength(0)); // 2
Console.WriteLine(grid.GetLength(1)); // 3Ein Raster durchlaufen
Um jede Zelle zu besuchen, verwenden Sie eine Schleife für die Zeilen innerhalb einer weiteren Schleife für die Spalten. Die äußere Schleife wählt eine Zeile aus, die innere durchläuft deren Spalten.
Verwenden Sie GetLength, damit die Schleifen der tatsächlichen Größe entsprechen.
int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
for (int c = 0; c < grid.GetLength(1); c++)
{
Console.WriteLine(grid[r, c]);
}
}Ein vollständiges Rasterprogramm
Dieses vollständige Programm erstellt ein kleines Raster und gibt anschließend jeden Wert mit seiner Zeile und Spalte aus.
Führen Sie es aus, um zu sehen, wie alle vier Zellen aufgelistet werden.
int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
for (int c = 0; c < grid.GetLength(1); c++)
{
Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
}
}Drei Dimensionen
Sie können mit weiteren Kommas zusätzliche Dimensionen hinzufügen. Ein 3D-Array verwendet [,,] und drei Größenangaben.
Stellen Sie es sich als einen Stapel von Rastern vor. Solche Arrays sind seltener, folgen aber denselben Regeln.
int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5Verzahnte Arrays
Ein verzahntes Array ist ein Array aus Arrays und wird als [][] geschrieben. Anders als bei einem rechteckigen Raster kann jede Zeile eine andere Länge haben.
Sie greifen mit zwei separaten Paaren eckiger Klammern darauf zu.
int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5Rechteckig oder verzahnt
Ein rechteckiges [,]-Array hat immer gleich lange Zeilen und speichert Daten kompakt. Ein verzahntes [][]-Array erlaubt unterschiedlich lange Zeilen.
Wählen Sie ein rechteckiges Array für echte Tabellen und ein verzahntes Array, wenn die Zeilen naturgemäß unterschiedlich groß sind.
int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3Die Werte eines Rasters addieren
Sie können alle Werte eines Rasters addieren, indem Sie jede Zelle innerhalb verschachtelter Schleifen hinzufügen.
Dieses Muster lässt sich auf beliebig viele Zeilen und Spalten anwenden.
int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
total += v;
}
Console.WriteLine(total); // 10Kurzer Test
Testen Sie Ihr Wissen über mehrdimensionale Arrays.
Zusammenfassung
Sie haben gelernt, Raster mit [,] zu erstellen, auf Zellen über Zeilen- und Spaltenindizes zuzugreifen und ihre Größe mit GetLength zu ermitteln.
Verschachtelte Schleifen besuchen jede Zelle, zusätzliche Kommas fügen Dimensionen hinzu, und verzahnte [][]-Arrays erlauben Zeilen mit unterschiedlichen Längen. Nun können Sie Datentabellen in C# speichern und verarbeiten.
Häufig gestellte Fragen
Ist die Lektion „Mehrdimensionale Arrays“ kostenlos?
Ja — der vollständige Text von „Mehrdimensionale Arrays“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Mehrdimensionale Arrays“?
Raster und gezackte Arrays. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Mehrdimensionale Arrays“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Arrays deklarieren
- Indizierung und Länge
- Über Arrays iterieren
- Mehrdimensionale Arrays