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 regulären Arrays, erfordert jedoch zwei Indizes: einen für die Zeile und einen für die Spalte.
Hinweis: In C# gibt es zwei Arten mehrdimensionaler Arrays: rechteckige Arrays (int[,]) und gezackte Arrays (int[][]). Diese Lektion behandelt gezackte Arrays, bei denen jede Zeile ihr eigenes Array ist.
Erstelle ein unregelmäßiges 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];Weise einer bestimmten Position einen Wert zu (Zeilenindex 1, Spaltenindex 2):
grid[1][2] = 42;Lies einen Wert aus einer bestimmten 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.
Denke daran, dass array-Indizes bei 0 beginnen, daher sind die gültigen Indexbereiche:
- Zeilen: index 0 bis 2 (für ein Array mit 3 Zeilen: Die 1. Zeile hat den index 0, die 2. den index 1, die 3. den index 2)
- Spalten: index 0 bis 3 (für ein Array mit 4 Spalten: Die 1. Spalte hat den index 0, die 2. den index 1 und so weiter)
grid[3][2]), erhältst du eine IndexOutOfRangeException.Aufgabe
MittelSchreibe eine Methode namens getElement, die drei Argumente entgegennimmt:
- Ein 2D-Ganzzahl-Array (
int[][] matrix) - Einen Zeilenindex (
int row) - Einen Spaltenindex (
int col)
Die Methode soll das Element an der angegebenen Position zurückgeben, wenn die Indizes gültig sind. Wenn einer der beiden Indizes außerhalb des gültigen Bereichs liegt, soll die Methode -1 zurückgeben.
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Übe selbstständig: Online-C#-Compiler