学了N多久的委托,终于告一段落,现在可以开始lambda的学习之旅了,但是在说lambda之前必须先说下C#中的匿名方法.
1、匿名方法
下面是一个字符串拼接的程序,用到了委托,代码如下:
class...,还是会有以下限制:
a、在匿名方法中不能使用跳转语句(break、goto、continue)跳转到该匿名方法的外部,反之依然,外部跳转到里面也不能
b、在匿名方法中不能访问不安全的代码,另外也不能在匿名方法外部使用的...ref或者out参数,但是可以使用在匿名方法外部定义的其他参数
2、Lamdba表达式
匿名方法虽然好,但是从C#3.0之后,推出了更好的Lamdba表达式,只要有委托参数的地方,就可以使用Lamdba...lamdba运算符"=>"的左边列出了需要的参数,右边定义了关于参数的实现方法体
如果委托有多个参数,就把参数名放到花括号中,代码如下:
class Program
{...return关键字了,有点类似与if else语句
2、Lamdba表达式闭包
闭包这个很多编程语言中都有,Lamdba表达式能访问表达式外部的变量就是通过闭包来实现的。