Declaring and Initializing 2D
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 2 von 66.
Ein 2D-Array in C# kann mit Jagged Arrays erstellt werden, die Arrays von Arrays sind und es ermöglichen, Daten in einer gitterartigen Struktur zu speichern.
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 auf 0 initialisiert):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]Initialisieren Sie ein gezacktes 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]Um die Anzahl der Zeilen und Spalten zu erhalten:
int rows = matrix.Length; // Returns 2
int columns = matrix[0].Length; // Returns 3 (for the first row)Der Zugriff auf Elemente in einem 2D-Array erfordert zwei Indizes: einen für die Zeile und einen für die Spalte.
Einen Wert an einer spezifischen Position (Zeile 1, Spalte 2) zuweisen:
grid[1][2] = 42;Einen Wert von einer spezifischen Position lesen (Zeile 0, Spalte 3):
int value = grid[0][3];Denken Sie 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 Sie versuchen, auf ein Element außerhalb dieser Bereiche zuzugreifen (wie z. B. grid[3][2]), erhalten Sie eine IndexOutOfRangeException.
Spickzettel
Erstellen Sie ein gezacktes Array (2D-Array) in C#:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Mit Werten initialisieren:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Dimensionen abrufen:
int rows = matrix.Length; // Anzahl der Zeilen
int columns = matrix[0].Length; // Anzahl der Spalten in der ersten ZeileZugriff auf Elemente mit zwei Indizes [Zeile][Spalte]:
grid[1][2] = 42; // Wert zuweisen
int value = grid[0][3]; // Wert lesenArray-Indizes beginnen bei 0. Der Zugriff auf Indizes außerhalb des gültigen Bereichs löst eine IndexOutOfRangeException aus.
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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety