Lambda表达式

转自:http://www.cnblogs.com/nokiaguy/archive/2008/06/09/1216166.html

C#3.0 .net framework3.5 )开 始,支持了 Lambda 表达式。所谓 Lambda 表达式就是 delegate 和匿名方法的简写形式, Lambda 表达式的语法如下:

(param1, param2 ...,paramN) =>

{

    表达式1;

    表达式2;

    return 返回值;

}

    上面语法中的param1...paramN就表示方法的参数(不用确定类型,C#编译器会为我们做这个工作),而{...}里面的内容就和方法体中的内容完全一样。

    如果 delegate 没有参数,可以只写 () ,如下面的方法所示:

public  delegate  void  Method1();

public  void  test()
{
    Method1 method1 
=  ()  =>  {  int  i  =  4 ; i  +=  6 ; };
}

    如果delegate只有一个参数,参数两边的括号可以不写,代码如下:

public  delegate  void  Method2( int  i);

public  void  test()
{
    Method2 method2 
=  i  =>  { i ++ ; i  +=  6 ; };
}

    如果delegate有返回值,{...}中 的最后一条语句需要使用return来返回相应的值,代码如下:


public  delegate  int  Method3( int  x,  int  y);

public  void  test()
{
    Method3 method3 
=  (x, y)  =>  { x ++ ; y ++ return  x  +  y; };
}

你可能感兴趣的:(lambda)