Heim >Backend-Entwicklung >C#.Net-Tutorial >Anonyme C#-Funktionen
Ein Funktionstyp in C#, der keinen Namen hat, wird als anonyme Funktion bezeichnet, die auch als Funktion ohne Namen ausgedrückt werden kann. Es gibt in C# zwei Typen anonymer Funktionen: Lambda-Ausdrücke in C# und anonyme Methoden in C#, wobei die anonyme Funktion, die zum Erstellen von Delegaten verwendet wird, in C# Lambda-Ausdruck genannt wird, mit der lokale Funktionen erstellt und als Argument und Abfragen übergeben werden können von LINQ kann auch mit Hilfe von Lambda-Ausdrücken geschrieben werden. Die gleiche Funktionalität wird auch von den Anonymous-Methoden bereitgestellt, mit der Ausnahme, dass die Liste der Parameter nicht verwendet werden kann.
In C# gibt es zwei Arten anonymer Funktionen. Sie sind:
(input-parameters) => expression
C#-Programm zur Demonstration des Lambda-Ausdrucks in einem Programm zum Ermitteln des Quadrats einer Zahl:
Code:
using System; //a namespace called program is defined namespace program { //a class called check is defined class check { delegate int Findsquare(int number); //main method is called static void Main(string[] args) { //a lambda expression to find the square of a number is defined Findsquare Obtainsquare = r => r * r; int l = Obtainsquare(3); Console.WriteLine("The Square of the given number is: "+l); } } }
Ausgabe:
Im obigen Programm ist ein Namespace namens Programm definiert. Dann wird eine Klasse namens check definiert. Dann wird die Hauptmethode aufgerufen. Anschließend wird ein Lambda-Ausdruck definiert, um das Quadrat einer Zahl zu ermitteln. Das Quadrat der mit dem Lambda-Ausdruck gefundenen Zahl wird angezeigt.
C#-Programm zur Demonstration des Lambda-Ausdrucks in einem Programm, um festzustellen, ob eine Zahl in der Liste vorhanden ist oder nicht:
Code:
using System; using System.Collections.Generic; //a namespace called program is defined namespace program { //a class called check is defined class check { //main method is called static void Main(string[] args) { //a new list of type integer is created List<int> mylist = new List<int>(); //integers are added to the list using add() method mylist.Add(10); mylist.Add(20); mylist.Add(30); //a lambda expression and find method is used to determine if a number is present in the list int found = mylist.Find(r => r == 20); if(found==0) { Console.WriteLine("The number is present in the list"); } else { Console.WriteLine("The number is not present in the list"); } //a lambda expression and find method is used to determine if a number is present in the list found = mylist.Find(r => r == 40); if(found==0) { Console.WriteLine("The number is present in the list"); } else { Console.WriteLine("The number is not present in the list"); } } } }
Ausgabe:
Im obigen Programm ist ein Namespace namens Programm definiert. Dann wird eine Klasse namens check definiert. Dann wird die Hauptmethode aufgerufen. Dann wird eine neue Liste vom Typ Integer erstellt. Anschließend werden mithilfe der Add()-Methode Ganzzahlen zur Liste hinzugefügt. Dann wird ein Lambda-Ausdruck zusammen mit der Find()-Methode verwendet, um zu bestimmen, ob eine Zahl in der Liste vorhanden ist oder nicht.
Delegate(parameter_list) { //Block of code };
C#-Programm zur Demonstration einer anonymen Methode in einem Programm:
Code:
using System; //a class called program is defined class program { //a delegate is created by using delegate keyword public delegate void subject(string favsubject); // Main method is called static public void Main() { // a parameter is passed to the anonymous method using delegate keyword subject sub = delegate(string favsubject) { Console.WriteLine("{0} is my favourite subject", favsubject); }; sub("C#"); } }
Ausgabe:
Im obigen Programm ist ein Klassenprogramm definiert. Anschließend wird mithilfe des Schlüsselworts „delegate“ ein Delegat erstellt. Dann wird die Hauptmethode aufgerufen. Anschließend wird mithilfe des Schlüsselworts „delegate“ ein Parameter an die anonyme Methode übergeben.
C#-Programm zur Demonstration einer anonymen Methode in einem Programm, das auf eine Variable zugreifen kann, die in der äußeren Methode definiert ist:
Code:
using System; //a class called program is defined class program { //anonymous method is declared using delegate keyword public delegate void subject(string favsubject); // Main method is called static public void Main() { //a string variable is defined in the outside method from anonymous method string favsubject1 = "Coding_in_C#"; // a parameter is passed to the anonymous method using delegate keyword subject sub = delegate(string favsubject) { Console.WriteLine("{0} is my favourite subject", favsubject); Console.WriteLine("I also like {0}", favsubject1); }; sub("C#"); } }
Ausgabe:
Im obigen Programm ist eine Klasse namens Programm definiert. Anschließend wird mit dem Schlüsselwort „delegate“ ein Delegate erstellt. Dann wird die Hauptmethode aufgerufen. Dann wird eine String-Variable definiert, die die externe Methode der anonymen Methode ist. Anschließend wird mithilfe des Schlüsselworts „delegate“ ein Parameter an die anonyme Methode übergeben. Die anonyme Methode greift auch außerhalb der anonymen Methode auf die Variable zu.
Das obige ist der detaillierte Inhalt vonAnonyme C#-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!