C#4.0新特性学习(四)—匿名方法及Lambda表达式

C#从3.0开始支持匿名方法及Lambda表达式。

1 匿名方法

 AddDelegate del = delegate(int i, int j)
 {
     return i + j;
 };
 Console.WriteLine(del(5, 6));

使用匿名方法,要注意其语法特性。

2 Lambda表达式

可以使用Lambda表达式进一步简化上面的代码:
 AddDelegate d = (i, j) => {return i + j; };
 Console.WriteLine(d(5, 6));
 其中,参数i,j类型可以省略,编译器会自动推断。

可以结合泛型委托使用Lambda表达式,如:

 Func<int, int, int> func = (i, j) => { return i + j; };
 Console.WriteLine(func(5,6));

 如果没有输入参数时,可以直接写(),如:
 Action action = () => { Console.WriteLine("Hello,World!"); };
 action();

原文地址:https://www.cnblogs.com/zhouhb/p/2175107.html