C#之匿名方法
匿名方法从字面意思理解就是没有名字的方法。
在我们实际开发工作中,可能会有一些不常用且代码量小的方法存在,那么我们就可以把他写成匿名方法的形式,这样可以减少方法的繁琐和一些不必要的调用麻烦。
匿名语法格式:
委托类型变量 = 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); } } }
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); }*/ } }

浙公网安备 33010602011771号