csharp / intermediate
Snippet
Kapselung von Logik mit statischen lokalen Funktionen
Lokale Funktionen ermöglichen es, Methoden innerhalb anderer Methoden zu definieren. Die Kennzeichnung als 'static' verhindert, dass sie Variablen aus dem äußeren Bereich erfassen, was die Speicherbelegung reduziert und die Leistung verbessert.
snippet.cs
csharp
1
2
3
4
5
6
public int CalculateSequence(int start, int limit){return Step(start);static int Step(int n) => n > 100 ? n : Step(n * 2);}
Erklärung
1
static int Step(int n)
Definiert eine lokale Funktion, die nicht auf lokale Variablen von CalculateSequence zugreifen kann.
2
=> n > 100 ? n : Step(n * 2)
Ein rekursiver Ausdruckskörper, der die Sequenz fortsetzt, bis das Limit erreicht ist.