Maison >développement back-end >C++ >Comment fonctionnent les fermetures et améliorent la réutilisabilité du code en C# ?

Comment fonctionnent les fermetures et améliorent la réutilisabilité du code en C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-08 08:07:40172parcourir

How Do Closures Work and Enhance Code Reusability in C#?

Maîtriser les fermetures C# pour une réutilisation améliorée du code

Les fermetures C# sont une technique de programmation puissante permettant l'encapsulation de variables et de fonctions dans des délégués ou des méthodes anonymes. Cela permet la création de segments de code hautement adaptables et réutilisables.

La mécanique des fermetures C#

Une fermeture est créée lorsqu'une méthode anonyme ou un délégué est défini dans une méthode conteneur. La méthode interne (la méthode anonyme ou délégué) conserve l'accès aux variables déclarées dans la portée de la méthode externe, même une fois l'exécution de la méthode externe terminée.

Exemple illustratif :

Considérez ce scénario :

<code class="language-csharp">public Person FindById(int id)
{
    return this.Find(delegate(Person p)
    {
        return (p.Id == id);
    });
}</code>

Ici, FindById prend un id et renvoie un objet Person. Le délégué anonyme transmis à la méthode Find agit comme une expression lambda, vérifiant si le Person de l'objet Id correspond à l'entrée id. Cela recherche efficacement une personne spécifique par pièce d'identité.

C# 6 et au-delà : fermetures simplifiées

C# 6 et les versions ultérieures rationalisent la création de fermetures à l'aide d'expressions lambda et de corps d'expression. L'exemple précédent peut être réécrit de manière concise comme :

<code class="language-csharp">public Person FindById(int id)
{
    return this.Find(p => p.Id == id);
}</code>

En résumé

Les fermetures C# sont des outils inestimables, améliorant la flexibilité et la réutilisabilité du code en encapsulant des variables et des fonctions dans des expressions lambda et des méthodes anonymes. Cela conduit à des applications plus efficaces et maintenables.

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