苏飞论坛
标题: C#匿名方法和Lambda表达式 [打印本页]
作者: Bran 时间: 2016-1-3 19:28
标题: C#匿名方法和Lambda表达式
一:匿名方法
匿名方式是C#2.0引入的一个特性,它允许开发者声明自己的函数代码而无须使用委托函数。
C#为委托提供一种机制,可以为委托定义匿名方法,匿名方法没有名称,编译器会指定一个名称,在匿名方法内部不能访问不完全的代码,匿名方法中不能使用跳转语句跳转到该匿名方法的外部,也不能跳转到该方法的内部,也不能在匿名方法外部使用的ref和out参数。但可以使用在匿名方法外部定义的其他变量。
如果需要用匿名方法多次编写同一个功能,就不要使用匿名方法,而编写一个指定的方法比较好,因为该方法只能编写一次,以后可通过名称引用它。
通过使用匿名方法,可以不必创建单独的方法,因此减少了实例化委托所需要的编码系统开销。
用匿名方法定义委托的语法和前面的定义并没有区别,但是实例化委托时就有区别了。
那么什么时候该使用匿名方法?
1.需要一个临时方法,该方法使用次数极少。
2.该方法代码很短,甚至可能比方法声明都短的情况下使用
(, 下载次数: 127)