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.