C# 匿名方法

C# 匿名方法(Anonymous methods)

委托是用于引用与其具有相同标签的方法。换句话说,可以使用委托对象调用可由委托引用的方法。

匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。

在匿名方法中不需要指定返回类型,它是从方法主体内的 return 语句推断的。

编写匿名方法的语法

匿名方法是通过使用 delegate 关键字创建委托实例来声明的。例如:

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

 

代码块 

Console.WriteLine("Anonymous Method: {0}", x); 

 

是匿名方法的主体。

委托可以通过匿名方法调用,也可以通过命名方法调用,即,通过向委托对象传递方法参数。

例如:

nc(10);

实例

delegate void Log(string msg);
        public static void run()
        {
            Log log = new Log(say);
            log("Hello World.");
            Log mLog = delegate (string msg)
              {
                  Console.WriteLine(msg);
              };
            mLog("Hi World.");
        }
        public static void say(string msg)
        {
            Console.WriteLine(msg);
        }

 

posted @ 2020-08-27 11:08  虚青海  阅读(522)  评论(0)    收藏  举报