Accessing 2D Array Elements
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 3 von 66.
Der Zugriff auf Elemente in einem 2D-Array verwendet eine ähnliche Syntax wie bei normalen Arrays, erfordert aber zwei Indizes: einen für die Zeile und einen für die Spalte.
Hinweis: In C# gibt es zwei Arten von mehrdimensionalen Arrays: rechteckige Arrays (int[,]) und jagged Arrays (int[][]). Diese Lektion behandelt jagged Arrays, bei denen jede Zeile ein eigenes Array ist.
Erstellen Sie ein gezacktes Array mit 3 Zeilen und 4 Spalten:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Einen Wert einer spezifischen Position zuweisen (Zeilenindex 1, Spaltenindex 2):
grid[1][2] = 42;Lesen Sie einen Wert von einer spezifischen Position (Zeilenindex 0, Spaltenindex 3):
int value = grid[0][3];Da Indizes bei 0 beginnen, ist Zeilenindex 0 die 1. Zeile und Spaltenindex 3 die 4. Spalte.
Denken Sie daran, dass Array-Indizes bei 0 beginnen, sodass die gültigen Indexbereiche lauten:
- Zeilen: Index 0 bis 2 (für ein Array mit 3 Zeilen — die 1. Zeile ist Index 0, die 2. Zeile ist Index 1, die 3. Zeile ist Index 2)
- Spalten: Index 0 bis 3 (für ein Array mit 4 Spalten — die 1. Spalte ist Index 0, die 2. Spalte ist Index 1 usw.)
grid[3][2]), erhalten Sie eine IndexOutOfRangeException.Aufgabe
MittelSchreiben Sie eine Methode namens getElement, die drei Argumente entgegennimmt:
- Ein 2D-Integer-Array (
int[][] matrix) - Ein Zeilenindex (
int row) - Ein Spaltenindex (
int col)
Die Methode sollte das Element an der angegebenen Position zurückgeben, wenn die Indizes gültig sind. Wenn ein Index außerhalb des Bereichs liegt, sollte die Methode -1 zurückgeben.
Spickzettel
Greifen Sie auf Elemente in einem 2D-Array mit zwei Indizes zu: [row][column]
Erstellen Sie ein 2D-Array:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Einem Wert zuweisen:
grid[1][2] = 42;Einen Wert lesen:
int value = grid[0][3];Array-Indizes beginnen bei 0. Der Zugriff auf Elemente außerhalb gültiger Bereiche löst eine IndexOutOfRangeException aus.
Probier es selbst
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// 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
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