Grundlagen 2D-Arrays
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 1 von 66.
In C# ist ein gezacktes Array ein Array aus Arrays, das ein Raster oder eine matrixähnliche Struktur bildet. Es ist wie eine Tabelle mit Zeilen und Spalten, in der jede Zelle einen Wert enthalten kann. Gezackte Arrays eignen sich zur Darstellung von Daten mit einer zweidimensionalen Beziehung, beispielsweise eines Schachbretts, eines Sitzplans oder eines rasterbasierten Spiels.
So deklarieren und initialisieren Sie ein Jagged Array in C#:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Der Typ der Elemente, die das Array enthalten wird (z. B. int, string usw.).
arrayName: Der Name, den du dem Array gibst.
numberOfRows: Die Anzahl der Zeilen im Array.
Jede Zeile muss dann separat initialisiert werden:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// und so weiter...Um zum Beispiel ein verzweigtes Array (Jagged Array) von Ganzzahlen mit 3 Zeilen zu erstellen, bei dem jede Zeile 4 Spalten hat, würden Sie Folgendes schreiben:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Sie können ein Jagged Array auch direkt mit Werten initialisieren:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Hinweis: Diese Plattform verwendet einen Compiler, der älter als C# 12 ist. Die in C# 12 eingeführte kürzere Syntax für Sammlungsausdrücke (z. B. int[][] matrix = [[1, 2], [3, 4]];) wird hier nicht unterstützt. Bitte verwenden Sie die oben gezeigte traditionelle Initialisierungssyntax new int[][] { ... }.
Aufgabe
EinfachInitialisiere ein gezacktes Array mit den folgenden Werten:
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Deine Aufgabe besteht darin, das gezackte Array korrekt mit diesen exakten Werten zu initialisieren und sicherzustellen, dass das Programm die Matrix korrekt ausgibt.
Hinweis: Diese Plattform verwendet einen Compiler vor C# 12. Die Syntax für Sammlungsausdrücke in C# 12 (z. B. int[][] matrix = [[1, 2], [3, 4]];) wird nicht unterstützt. Verwende stattdessen die traditionelle Initialisierungssyntax:int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
Probier es selbst
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Schreibe deinen Code hier
};
// Die Matrix ausgeben
int rows = matrix.Length;
for (int i = 0; i < rows; i++)
{
int cols = matrix[i].Length;
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i][j] + " ");
}
Console.WriteLine();
}
}
}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