Kapitel 5. Funktionen höherer Ordnung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Willkommen zurück, meine Freunde, bei der Show, die niemals endet. In diesem Kapitel geht es um die Verwendung von Funktionen höherer Ordnung. Ich zeige dir neue Möglichkeiten, wie du sie in C# einsetzen kannst, um dir Arbeit zu ersparen und Code zu erstellen, der weniger wahrscheinlich fehlschlägt.

Aber was sind Funktionen höherer Ordnung? Dieser etwas seltsame Name steht für etwas sehr Einfaches. Wenn du schon länger mit LINQ arbeitest, wirst du wahrscheinlich schon seit einiger Zeit Funktionen höherer Ordnung verwenden. Es gibt sie in zwei Varianten; hier ist die erste:

var liberatorCrew = new []
{
    "Roj Blake",
    "Kerr Avon",
    "Vila Restal",
    "Jenna Stannis",
    "Cally",
    "Olag Gan",
    "Zen"
};
var filteredList = liberatorCrew.Where(x => x.First() > 'M');

Der Funktion Where() wird ein Pfeilausdruck übergeben, der nur eine Abkürzung für eine unbenannte Funktion ist. Die Langschriftversion würde so aussehen:

function bool IsGreaterThanM(char c)
{
    return c > 'm';
}

In diesem Fall wurde die Funktion als Parameter an eine andere Funktion weitergegeben, die an anderer Stelle innerhalb der Funktion ausgeführt werden soll.

Dies ist ein weiteres Beispiel für die Verwendung von Funktionen höherer Ordnung:

public Func<int, int> MakeAddFunc(int x) => y => x + y;

Beachte, dass es hier zwei Pfeile gibt, nicht nur einen. Wir nehmen ...

Get Funktionale Programmierung mit C# now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.