Declaring and Initializing 2D
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 rows und 3 columns, das die 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:
- rows: 0 bis 2 (für ein Array mit 3 rows)
- columns: 0 bis 3 (für ein Array mit 4 columns)
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
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Übe selbstständig: Online-C#-Compiler