c#委托中的匿名方法和lambda表达式

一、一般委托方式

 Func<int, int, int> AddMethodHander; public unName() { AddMethodHander += AddMethod; } public int AddMethod(int num1, int num2) { int result = num1 + num2; Console.WriteLine(result); return result; } public void Test1() { AddMethodHander.Invoke(20, 30); }

步骤:先实例化委托,注册方法的委托,调用委托。

 

二、使用匿名方法

 public void Test2() { Func<int, int, int> FunMeHandle = delegate(int num1, int num2) { return num1 + num2; }; int result = FunMeHandle.Invoke(21, 31); Console.WriteLine(result); }

将实例化委托和委托方法进行了合并,最后调用委托。

 

三、使用lambda表达式

 public void Test3() { Func<int, int, int> FunMeHan = ( num1, num2) =>num1 + num2; int result = FunMeHan.Invoke(10, 52); Console.WriteLine(result); }

从委托-------匿名方法----------Lambda表达式,不断的简化程序的代码量。

 

相关文章