Maison  >  Article  >  développement back-end  >  [Tutoriel c#] Méthode anonyme C#

[Tutoriel c#] Méthode anonyme C#

黄舟
黄舟original
2016-12-24 13:11:54947parcourir

Méthode anonyme C#

Nous avons déjà mentionné qu'un délégué est utilisé pour référencer une méthode avec le même label que lui. En d’autres termes, vous pouvez utiliser un objet délégué pour appeler des méthodes pouvant être référencées par le délégué.

Les méthodes anonymes fournissent une technique pour transmettre des blocs de code en tant que paramètres délégués. Les méthodes anonymes sont des méthodes qui n’ont pas de nom mais seulement un corps.

Dans les méthodes anonymes, vous n'avez pas besoin de spécifier le type de retour, il est déduit de l'instruction return dans le corps de la méthode.

Syntaxe d'écriture de méthodes anonymes

Les méthodes anonymes sont déclarées en créant une instance de délégué à l'aide du mot-clé délégué. Par exemple :

delegate void NumberChanger(int n);
...
NumberChanger nc = delegate(int x)
{
    Console.WriteLine("Anonymous Method: {0}", x);
};

bloc de code Console.WriteLine("Anonymous Method: {0}", x est le corps de la méthode anonyme.

Un délégué peut être appelé via une méthode anonyme ou une méthode nommée, c'est à dire en passant des arguments de méthode à l'objet délégué.

Par exemple :

nc(10);

Exemple

L'exemple suivant démontre le concept de méthodes anonymes :

using System;

delegate void NumberChanger(int n);
namespace DelegateAppl
{
    class TestDelegate
    {
        static int num = 10;
        public static void AddNum(int p)
        {
            num += p;
            Console.WriteLine("Named Method: {0}", num);
        }

        public static void MultNum(int q)
        {
            num *= q;
            Console.WriteLine("Named Method: {0}", num);
        }
        public static int getNum()
        {
            return num;
        }

        static void Main(string[] args)
        {
            // 使用匿名方法创建委托实例
            NumberChanger nc = delegate(int x)
            {
               Console.WriteLine("Anonymous Method: {0}", x);
            };
            
            // 使用匿名方法调用委托
            nc(10);

            // 使用命名方法实例化委托
            nc =  new NumberChanger(AddNum);
            
            // 使用命名方法调用委托
            nc(5);

            // 使用另一个命名方法实例化委托
            nc =  new NumberChanger(MultNum);
            
            // 使用命名方法调用委托
            nc(2);
            Console.ReadKey();
        }
    }
}

Lorsque le code ci-dessus est compilé et Une fois exécuté, il produira les résultats suivants :

Anonymous Method: 10
Named Method: 15
Named Method: 30

Ce qui précède est le contenu du [tutoriel c#] Méthode anonyme C# Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www. php.cn) !


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