首页 > 其他 > 详细

匿名方法

时间:2014-10-29 18:54:29      阅读:238      评论:0      收藏:0      [点我收藏+]

匿名方法是c#2.0引入的特性,并通过c#3.0的Lambda表达式得到发展,(请看我的另一片关于Lambda的整理).

匿名方法类似于lambda表达式,但是没有以下特性:

  1. 确定类型的参数
  2. 表达式语法(匿名方法必须是语句块)
  3. 在指定到Expression<T>时,编译成表达式树的功能

写您名方法的方法是:delegate关键字后面跟参数声明(可选),然后是方法体.以下以委托为例:

bubuko.com,布布扣
delegate int Transformer(int i);
View Code

以下是实现和调用匿名方法:

bubuko.com,布布扣
Transformer sqr=delegate(int x){return x*x;};
Console.WriteLine(sqr(3));//9
View Code

第一行代码等于下面的lambda表达式:

bubuko.com,布布扣
Transformer sqr=(int x)=>{return x*x};
//简写成
Transformer sqr=x>x*x;
View Code

完全省略参数是匿名方法----即使委托需要这些参数.

匿名方法

原文:http://www.cnblogs.com/valiant1882331/p/4059969.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!