class Program { // 声明委托类型CalcCallback,原型如下: public delegate double CalcCallback(double x, double y); static void Main(string[] args) { // 下面使用3种方式初始化一个委托对象,前提 // 就是方法的签名与委托类型声明时的签名一样即可 // 1、使用命名方法方式初始化一个委托对象 CalcCallback add = new CalcCallback(Sum); // 2、使用拉姆达函数方式初始化一个委托对象 CalcCallback sub=(x,y)=>{ return x-y; }; // 3、使用匿名函数方式初始化一个委托对象 CalcCallback mul = delegate(double x, double y) { return x * y; }; Console.WriteLine(add(1,2)); Console.WriteLine(sub(2, 1)); Console.WriteLine(mul(2, 2)); Console.ReadKey(true); } static double Sum(double x, double y) { return x + y; } }