Übergeben Sie eine Funktion als Parameter in C#
-
Übergeben Sie eine Funktion als Parameter mit dem Delegaten
Func<>
inC#
-
Übergeben Sie eine Funktion als Parameter in einer anderen Funktion mit dem Delegaten
Aktion <>
inC#
In diesem Lernprogramm werden Methoden zum Übergeben einer Funktion als Parameter in einer anderen Funktion in C# vorgestellt.
Übergeben Sie eine Funktion als Parameter mit dem Delegaten Func<>
in C#
Der Delegat Func<T1, T-return>
definiert eine Funktion mit dem Parameter T1
und dem Rückgabetyp T-return
in C#. Wir können eine Funktion als Parameter innerhalb einer anderen Funktion mit dem Delegaten Func<T1, t-return>
übergeben. Das folgende Codebeispiel zeigt uns, wie wir eine Funktion als Parameter innerhalb einer anderen Funktion mit dem Delegaten Func<>
in C# übergeben können.
using System;
namespace pass_function_as_parameter {
class Program {
static int functionToPass(int x) {
return x + 10;
}
static void function(Func<int, int> functionToPass) {
int i = functionToPass(22);
Console.WriteLine("i = {0}", i);
}
static void Main(string[] args) {
function(functionToPass);
}
}
}
Ausgabe:
i = 32
Wir haben die Funktion functionToPass(int x)
definiert, die einen ganzzahligen Wert als Parameter verwendet, ihn mit 10
inkrementiert und das Ergebnis als ganzzahligen Wert zurückgibt. Wir haben die Funktion functionToPass()
als Parameter an die Funktion function()
mit dem Delegaten Func<int, int>
übergeben. Wir haben den Wert 22
an die Funktion functionToPass()
innerhalb der Funktion function()
übergeben. In der Hauptfunktion haben wir die Funktion mit dem Funktionsaufruf function(functionToPass)
aufgerufen. Der Delegat Func<>
kann nur zum Übergeben der Funktionen verwendet werden, die einen bestimmten Wert zurückgeben.
Übergeben Sie eine Funktion als Parameter in einer anderen Funktion mit dem Delegaten Aktion <>
in C#
Wenn wir eine Funktion übergeben möchten, die keinen Wert zurückgibt, müssen wir den Delegaten Action<>
in C# verwenden. Der Delegat Action<T>
funktioniert genauso wie der Funktionsdelegierte. Hiermit wird eine Funktion mit dem Parameter T
definiert. Mit dem Delegat Action<>
können Sie eine Funktion als Parameter an eine andere Funktion übergeben. Das folgende Codebeispiel zeigt uns, wie wir eine Funktion als Parameter innerhalb einer anderen Funktion mit dem Delegaten Action<>
in C# übergeben können.
using System;
namespace pass_function_as_parameter {
class Program {
static void functionToPass2(int x) {
int increment = x + 10;
Console.WriteLine("increment = {0}", increment);
}
static void function2(Action<int> functionToPass2) {
functionToPass2(22);
}
static void Main(string[] args) {
function2(functionToPass2);
}
}
}
Ausgabe:
increment = 32
Wir haben die Funktion functionToPass2(int x)
definiert, die einen ganzzahligen Wert als Parameter verwendet, ihn mit 10
inkrementiert und das Ergebnis druckt. Wir haben die Funktion functionToPass2()
als Parameter an die Funktion function()
mit dem Delegaten Action<int>
übergeben. Wir haben den Wert 22
an die Funktion functionToPass2()
innerhalb der Funktion function2()
übergeben. In der Hauptfunktion haben wir die Funktion mit dem Funktionsaufruf function2(functionToPass2)
aufgerufen. Der Delegat Action<>
kann nur zum Übergeben von Funktionen verwendet werden, die keinen Wert zurückgeben.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn