Func -Delegierter in C#

Func -Delegierter in C#

C# ist eine beliebte Programmiersprache für die Entwicklung verschiedener Lösungen und Programme zur Lösung von Problemen. Die Verwendung von Delegierten in C# ist einer der Hauptteile von Code. Eine der mächtigsten Formen von Delegierten in C# ist die Func delegieren. Dieser Artikel deckt die ab Func -Delegierter Verwendung in C# und unterschiedliche Möglichkeiten zur Definition von Func -Delegierten in C#.

Delegierte in C#

In C#ist der Delegierte ein Typ, der einen Verweis auf eine Methode darstellt. Es bietet eine Möglichkeit, eine Methode zu verkapulieren und sie als Parameter zu übergeben oder einer Variablen zuzuweisen.

Mit C# -Delegierten können wir Methoden als erstklassige Objekte behandeln, was bedeutet, dass eine Methode an andere Methoden als Argument übergeben oder einer Variablen zugewiesen werden kann.

Die Delegierten in C# ähneln Funktionszeiger in C und C ++, bieten jedoch eine bessere und objektorientierte Art der Verhandlung von Verweise.

Um einen Delegierten in C# zu definieren delegieren Schlüsselwort wird verwendet. Nach dem Definieren des Delegiertenschlüsselworts wird die Verweise auf die Methode definiert. Der folgende Code definiert beispielsweise einen Delegierten -Typ, mit dem Methoden verweisen können, die ein INT -Argument aufnehmen und eine Zeichenfolge zurückgeben:

delegieren ();

Die Delegierten bieten viele Vorteile in C#, einschließlich der Möglichkeit, flexiblere und wiederverwendbarere Code zu erstellen, indem Methoden als Argumente an andere Methoden weitergegeben werden, und die Fähigkeit, Ereignisse und Rückrufe auf objektorientierte Weise zu implementieren.

Was sind Func -Delegierte in C#?

C# liefert verschiedene Arten von Delegierten wie z Func Und Aktion. Func ist ein generischer Delegiertertyp, der eine Methode mit einem Rückgabewert und optionalen Parametern zusammenfasst.

A Func Der Delegate ist ein vielseitiger Delegiertertyp, der zum Systemnamenspace in gehört .Netto -Framework. Es kann Null oder mehr Eingabeparameter akzeptieren und gibt uns einen einzelnen Ausgangsparameter. Während der Deklaration eines Delegierten wird sein letzter Parameter als Ausgangsparameter genommen.

Im Folgenden ist die Syntax zu definieren Func Delegierte, die einen Eingabeparameter nehmen und einen Wert ausgeben, ist im System -Namespace definiert:

Namespace -System

öffentlicher Delegierter Tresult Func(T arg);

In der obigen Syntax der letzte Parameter Tresult In den Klammern ist der Rückgabetyp für den Wert und die T ist der Eingabeparameter.

Unten ist eine Darstellung von a Func Delegieren Sie mit zwei Eingabeparametern und einem Ausgangsparameter.

öffentlicher Delegierter Tresult Func(T1 arg1, t2 arg2);

Zum Beispiel, Das Folgende ist der Code, der zwei Eingaben benötigt int Parameter und gibt einen Wert von zurück int.

mit System verwenden;
Klassenprogramm

statische int add (int x, int y)

Rückgabe x + y;

statische void main ()

Func add = neuer Func(Hinzufügen);
int result = add (10, 10);
Konsole.WriteLine ($ "Die Summe ist: Ergebnis");

Der obige Code erläutert die Verwendung von a Func delegieren. Es dauert zwei Ganzzahlen als Eingabeparameter und gibt ihre Summe zurück. Es ist als statische Methode innerhalb der Programmklasse definiert.

Die Hauptmethode erstellt a Func -Delegierter benannte add, das mit einer Referenz auf die add -Methode mit dem initialisiert wird Func (hinzufügen) Syntax. Diese Syntax nimmt einen Eingang von zwei Ganzzahlen an und gibt eine Ganzzahl als Ausgabe zurück.

Das Add -Delegate nimmt dann zwei Eingabeparameter (10, 10), was die Summe der beiden Ganzzahlen als Ergebnisvariable zurückgibt. Danach wird die Ergebnisvariable dann auf der Konsole gedruckt.

Abschluss

Func -Delegierte Ermöglichen Sie in C# können Sie Wert und optionale Parameter zurückgeben. Sie bieten viele Vorteile, einschließlich der Fähigkeit, Funktionen als Argumente an andere Methoden zu übergeben und flexiblere und wiederverwendbarere Code zu erstellen. Das Lesen der Themen, die im Artikel erläutert werden, kann man die Idee machen Func -Delegierter in C#.