2D-Arrays deklarieren und initialisieren
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 2 von 66.
Ein 2D-Array in C# kann mithilfe von gezackten Arrays erstellt werden. Dabei handelt es sich um Arrays aus Arrays, mit denen du Daten in einer gitterartigen Struktur speichern kannst.
Um ein gezacktes Array von Ganzzahlen mit 3 Zeilen und 4 Spalten zu erstellen:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Der obige Code erstellt ein 2D-Array, das so aussieht (alle Elemente werden mit 0 initialisiert):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]Initialisiere ein verzweigtes Array mit Werten:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Dies erstellt ein 2D-Array mit 2 Zeilen und 3 Spalten, das die folgenden Werte enthält:
[1, 2, 3]
[4, 5, 6]So erhältst du die Anzahl der Zeilen und Spalten:
int rows = matrix.Length; // Gibt 2 zurück
int columns = matrix[0].Length; // Gibt 3 zurück (für die erste Zeile)Der Zugriff auf Elemente in einem 2D-Array erfordert zwei Indizes: einen für die row und einen für die Spalte.
Weise einer bestimmten Position (Zeile 1, Spalte 2) einen Wert zu:
grid[1][2] = 42;Lies einen Wert an einer bestimmten Position (row 0, column 3):
int value = grid[0][3];Denke daran, dass Array-Indizes bei 0 beginnen, daher sind die gültigen Bereiche:
- Zeilen: 0 bis 2 (für ein Array mit 3 Zeilen)
- Spalten: 0 bis 3 (für ein Array mit 4 Spalten)
Wenn du versuchst, auf ein Element außerhalb dieser Bereiche zuzugreifen (wie bei grid[3][2]), erhältst du eine IndexOutOfRangeException.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler