Verschachtelte Schleifen mit 2D-Arrays
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 4 von 66.
Beim Arbeiten mit 2D-Arrays (jagged Arrays) in C# verwenden wir oft verschachtelte Schleifen, um über jede Zeile und jede Spalte zu iterieren, was uns ermöglicht, auf jedes Element im Array zuzugreifen oder es zu modifizieren.
Hier ist eine typische Struktur von verschachtelten Schleifen für ein 2D-Array in C#:
for (int i = 0; i < array.Length; i++) {
// Outer loop iterates over rows
for (int j = 0; j < array[i].Length; j++) {
// Inner loop iterates over columns
// Access or modify array[i][j]
}
}Die äußere Schleife iteriert über die Zeilen, und die innere Schleife iteriert über die Spalten jeder Zeile. Auf diese Weise können Sie auf jedes Element im 2D-Array mit array[i][j] zugreifen.
Aufgabe
EinfachprintMatrix, die ein 2D-Array (Jagged Array) von Ganzzahlen als Argument annimmt und seine Elemente im Matrixformat ausgibt. Verwenden Sie verschachtelte Schleifen, um über die Zeilen und Spalten des Arrays zu iterieren.Geben Sie jedes Element gefolgt von einem Leerzeichen aus (einschließlich des letzten Elements in jeder Zeile), dann geben Sie nach jeder Zeile einen Zeilenumbruch aus. Zum Beispiel für die Zeile
[1, 2, 3] sollte die Ausgabe 1 2 3 lauten (mit einem nachfolgenden Leerzeichen), gefolgt von einem Zeilenumbruch.Probier es selbst
// Schreibe deinen Code nur innerhalb der Klasse. Schreibe keine Main()-Methode oder Code außerhalb dieser Klasse.
using System;
class PrintMatrix
{
public static void printMatrix(int[][] matrix)
{
// Schreibe deinen Code hier
}
}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