Maison  >  Article  >  développement back-end  >  Fonctions anonymes C#

Fonctions anonymes C#

PHPz
PHPzoriginal
2024-09-03 15:14:47344parcourir

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.

Types de fonctions anonymes en C#

Il existe deux types de fonctions anonymes en C#. Ce sont :

1. Expressions lambda

  • Les délégués peuvent être créés à l'aide d'un type de fonction anonyme appelée expressions Lambda.
  • Des fonctions locales peuvent être créées à l'aide d'expressions Lambda qui peuvent être passées en argument.
  • Les requêtes du LINQ peuvent être écrites à l'aide d'expressions Lambda.
  • La syntaxe de l'expression lambda en C# est la suivante :
(input-parameters) => expression
Exemple n°1

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 :

Fonctions anonymes C#

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.

Exemple n°2

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 :

Fonctions anonymes C#

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.

2. Méthodes anonymes

  • Une méthode qui n'a pas de nom est appelée méthode anonyme en C#.
  • La méthode anonyme a été introduite dans la version C# 2.0.
  • Nous utilisons des méthodes anonymes lorsqu'une méthode en ligne doit être créée et les paramètres doivent également être transmis à la méthode de la même manière que nous transmettons les paramètres à toute autre méthode.
  • Le mot-clé délégué permet de définir une méthode anonyme et cette méthode peut être affectée à une variable de type délégué.
  • La syntaxe de la méthode Anonyme en C# est la suivante :
Delegate(parameter_list)
{
//Block of code
};
Exemple n°1

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 :

Fonctions anonymes C#

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é.

Exemple n°2

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 :

Fonctions anonymes C#

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Fonction récursive en C#Article suivant:Fonction récursive en C#