匿名方法从字面意思理解就是没有名字的方法。 在我们实际开发工作中,可能会有一些不常用且代码量小的方法存在,那么我们就可以把他写成匿名方法的形式,这样可以减少方法的繁琐和一些不必要的调用麻烦。 匿名语法格式: 委托类型变量 = delegate([类型列表]) { 方法体; }; 1,新建一个C#控制台项目,未使用匿名方法的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace anonymousMethods
{
class Program
{
public delegate void noParameterDelegate(); //无参委托
public delegate void parameterDelegate(string str); //有参委托

    public noParameterDelegate noPad;
    public parameterDelegate Pad;

    static void Main(string\[\] args)
    {
        Program pro = new Program();

        pro.noPad = Test01;
        pro.Pad = Test02;
        pro.noPad();
        pro.Pad("武武武");

        Console.ReadKey();
    }

    public static void Test01()
    {
        Console.WriteLine("我是Test01");
    }

    public static void Test02(string str)
    {
        Console.WriteLine("我是{0}",str);
    }
}

}

结果如下:[

](http://www.wjgbaby.com/wp-content/uploads/2017/08/17081701-300x129.jpg)
](http://www.wjgbaby.com/wp-content/uploads/2017/08/17081701-300x129.jpg)
2.将以上代码改造成匿名方法的形式:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace anonymousMethods
{
class Program
{
public delegate void noParameterDelegate(); //无参委托
public delegate void parameterDelegate(string str); //有参委托

    public noParameterDelegate noPad;
    public parameterDelegate Pad;

    static void Main(string\[\] args)
    {
        Program pro = new Program();

        //老方法
        //pro.noPad = Test01;
        //pro.Pad = Test02;
        //pro.noPad();
        //pro.Pad("武武武");

        //匿名方法
        pro.noPad = delegate () { Console.WriteLine("我是Test01"); };
        pro.Pad = delegate (string str) { Console.WriteLine("我是{0}", str); };

        pro.noPad();
        pro.Pad("武武武");

        Console.ReadKey();
    }

    /\*
    public static void Test01()
    {
        Console.WriteLine("我是Test01");
    }

    public static void Test02(string str)
    {
        Console.WriteLine("我是{0}",str);
    }\*/
}

}

结果如下,可以看出跟上面未使用匿名方法一样:[

](http://www.wjgbaby.com/wp-content/uploads/2017/08/17081702-300x141.jpg)
](http://www.wjgbaby.com/wp-content/uploads/2017/08/17081702-300x141.jpg)