0 Tage Serie
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);
else
ProcessElement(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.