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; };
}

posted on 2010-04-20 14:13  ATAK  阅读(208)  评论(0编辑  收藏  举报

导航