csharp / intermediate
Snippet
Array-Summierung mit lokalen rekursiven Funktionen
Dieses Snippet zeigt die Verwendung von lokalen Funktionen innerhalb einer Methode, um Operationen auf einem mehrdimensionalen Array durchzuführen. Lokale Funktionen sind nützlich für die Kapselung und können auf Variablen des äußeren Bereichs zugreifen, wie hier die Variable 'sum'.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public int SumMatrix(int[,] matrix){int sum = 0;void ProcessElement(int row, int col){if (row >= matrix.GetLength(0)) return;sum += matrix[row, col];if (col + 1 < matrix.GetLength(1))ProcessElement(row, col + 1);elseProcessElement(row + 1, 0);}ProcessElement(0, 0);return sum;}
Erklärung
1
int[,] matrix
Deklariert einen Parameter für ein 2D-Rechteck-Array.
2
void ProcessElement(int row, int col)
Definiert eine lokale Funktion, die auf Variablen der übergeordneten Methode zugreifen kann.
3
matrix.GetLength(0)
Ruft die Länge der ersten Dimension (Zeilen) des Arrays ab.