欢迎光临散文网 会员登陆 & 注册

Lambda表达式

2023-03-24 21:19 作者:此城过客  | 我要投稿

Lambda表达式,其实就是匿名方法的一个简写。

比如这个匿名方法:

static void Main(string[] args)

Func<int, int, int> plus = delegate (int a, int b)

    { return a + b; } ;  int resplus(1,2) ; int res= plus(1,2) ; Console.WriteLine(res) ;

}

它就可以简写成:

Func<int, int, int> plus = (a, b) => { return a + b; } ;

    int resplus(1,2);

    Console.WriteLine(res);

    //这样的话,一行代码就可以搞定了

}


当表达式只有一条语句时,可以把这个括号和return语句都省略掉。

于是就变成了:

{  Func<intintintplus = (ab) => a+b;

    Console.WriteLine(res);

}


如果只有一个参数,那就连括号都不需要,

{  Func<intintintsquare = a=> a*a;//square是求平方

    Console.WriteLine(res);

}


Lambda表达式是可以访问外部变量的。

比如:

          int a = 5;

          Func<int, int> f = x => x + a;

          Console.WriteLine();

外部变量还可以重新赋值。


Lambda表达式的评论 (共 条)

分享到微博请遵守国家法律