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
Libérer: 2025-01-08 08:07:40
original
205 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal