打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
拉姆达表达式学习(2)

在.net3.5里面,委托的定义和实现被大大的简化了!使用关键字Func或Action就可以定义一个委托,使用拉姆达表达式就可以实现一个具体的委托.
Func关键字是用来定义一个有返回值的委托,它一共有五个重载,我们介绍其中的三个
1 public delegate TResult Func<TResult>();
  这表示一个没有参数,只有一个返回值的委托,返回值的类型就是TResult(泛型)

 

代码

 

2 public delegate TResult Func<T, TResult>(T arg);
 这表示有且仅有一个参数,并且有返回值的委托.

 

代码

 

3 public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
 这表示有且仅有两个参数,并且有返回值的委托.

 

代码

 

Action关键字用来定义一个没有返回值的方法,它有一个非泛型方法,和四个泛型方法,一共五种.Action和func的区别就在于一个没有返回值,一个有返回值!其他的都一样!就好像VB的sub和function一样!
1 public delegate void Action();
没有参数也没有返回值

 

代码
2  public delegate void Action<T>(T obj);
有一个参数但没有返回值

 

 

代码

 

 

 


不过通常func和action并不是单独定义,然后使用,而是当作某个方法的参数的类型!下一次使用linq的方法,讲解一下func和action作为参数的写法

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
浅谈C#中常见的委托
C# IEnumerable,Lambda表达式和 Parallel并行编程的用法
C#的泛型委托Predicate/Func/Action(转)
Func,Action 的介绍及其用法
C#函数式编程
使用匿名委托,Lambda简化多线程代码
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服