Un type de fonction en C# qui n'a pas de nom est appelé fonction anonyme qui peut également être exprimée comme une fonction sans nom. Les fonctions anonymes sont de deux types en C# qui sont des expressions Lambda en C# et des méthodes anonymes en C# où la fonction anonyme utilisée pour créer des délégués est appelée expression Lambda en C# à l'aide de laquelle des fonctions locales peuvent être créées et peuvent être transmises comme argument et les requêtes de LINQ peut également être écrit à l'aide d'expressions Lambda. La même fonctionnalité est également fournie par les méthodes anonymes sauf qu'elle permet de ne pas utiliser la liste des paramètres.
Il existe deux types de fonctions anonymes en C#. Ce sont :
(input-parameters) => expression
Programme C# pour démontrer l'expression Lambda dans un programme permettant de trouver le carré d'un nombre :
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); } } }
Sortie :
Dans le programme ci-dessus, un espace de noms appelé programme est défini. Ensuite, une classe appelée check est définie. Ensuite, la méthode principale est appelée. Ensuite, une expression lambda est définie pour trouver le carré d'un nombre. Le carré du nombre trouvé à l'aide de l'expression lambda s'affiche.
Programme C# pour démontrer l'expression Lambda dans un programme afin de déterminer si un nombre est présent ou non dans la liste :
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"); } } } }
Sortie :
Dans le programme ci-dessus, un espace de noms appelé programme est défini. Ensuite, une classe appelée check est définie. Ensuite, la méthode principale est appelée. Ensuite, une nouvelle liste de type entier est créée. Ensuite, les entiers sont ajoutés à la liste à l'aide de la méthode Add(). Ensuite, une expression lambda ainsi que la méthode Find() sont utilisées pour déterminer si un nombre est présent ou non dans la liste.
Delegate(parameter_list) { //Block of code };
Programme C# pour démontrer une méthode anonyme dans un programme :
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#"); } }
Sortie :
Dans le programme ci-dessus, un programme de classe est défini. Ensuite, un délégué est créé à l’aide du mot-clé délégué. Ensuite, la méthode principale est appelée. Ensuite, un paramètre est passé à la méthode anonyme à l'aide du mot-clé délégué.
Programme C# pour démontrer une méthode anonyme dans un programme pouvant accéder à une variable définie dans la méthode externe :
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#"); } }
Sortie :
Dans le programme ci-dessus, une classe appelée programme est définie. Ensuite, un délégué est créé à l’aide du mot-clé délégué. Ensuite, la méthode principale est appelée. Ensuite, une variable chaîne est définie qui est la méthode extérieure de la méthode anonyme. Ensuite, un paramètre est transmis à la méthode anonyme à l’aide du mot-clé délégué. La méthode anonyme accède également à la variable en dehors de la méthode anonyme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!