Action和Func区别
Action<>和Func<>其实都是委托的【代理】简写形式。
简单的委托写法:
1 //普通的委托 2 public delegate void myDelegate(string str); 3 4 //Delegate委托调。 5 myDelegate dDelegate = new myDelegate(SayHellow); 6 dDelegate("Mr wang"); 7 8 //测试方法 9 public static void SayHellow(string name) 10 { 11 Console.WriteLine("Hello,"+name); 12 Console.ReadLine(); 13 }
View Code
Action<>指定那些只能输入参数,没有返回值的委托。
1 Action<string> action = SayHellow; //Action<string>中string为参数类型。 2 action("ZhangSan"); 3 4 5 //测试方法 6 public static void SayHellow(string name) 7 { 8 Console.WriteLine("Hello,"+name); 9 Console.ReadLine(); 10 }
View Code
Func<>使用方法和Action<>相似,区别是这个 有返回值。
1 Func<string,string> func=SayHello; //Func<>中参数前面都是方法所传参数类型,只有最后一个类型为委托返回 类型。 2 Console.WriteLine(func("ZhangSan")); 3 4 5 //测试方法。 6 public static string SayHello(string name) 7 { 8 return "Hello." + name; 9 }
View Code
转载于:https://www.cnblogs.com/zqhxl/p/4468902.html
Action和Func区别相关推荐
- C#中的Action和Func 区别
Action只能委托必须是无返回值的方法 Fun只是委托必须有返回值的方法 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的代码: public dele ...
- C# action,delegate,func的用法和区别
以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发 ...
- C# Delegate、delegate、 Action、 Func
首先Delegate 和delegate,Delegate是类, delegate是关键字,按照官网的解释,使用delegate定义的委托类型,最终会被编译器编译为Delegate类型 Action和 ...
- 使用.NET中的Action及Func泛型委托
原文 http://www.cnblogs.com/skm-blog/archive/2013/05/24/3096294.html 委托,在C#编程中占有极其重要的地位,委托可以将函数封装到委托对象 ...
- C#之Action和Func的用法(转自 https://www.cnblogs.com/LipeiNet/p/4694225.html)
以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发 ...
- C#之Action和Func的用法
以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发 ...
- C#委托(delegate、Action、Func、predicate)和事件
C#委托(delegate.Action.Func.predicate)和事件 - 园子的蜗牛 - 博客园 C#之委托 - 摸鱼王 - 博客园 C++函数指针与C#委托之间有何联系 - 51CTO.C ...
- C#泛型委托Predicate、Action、Func
Predicate Predicate泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 通过查看源码发现 P ...
- vuex中mutation和action的详细区别
一.vuex中mutation和action的详细区别 const store = new Vuex.Store({state: {count: 0},mutations: {increment (s ...
最新文章
- MongoDB安装和MongoChef可视化管理工具的使用
- Django博客系统(详情评论数据展示)
- Linux用户权限acl配置
- linux zookeeper安装并设置开机自启
- 02python 中的线程
- 学习笔记(48):Python实战编程-grid布局
- jzoj5248-[NOIP2017提高A组模拟8.10]花花的聚会【倍增,树形dp】
- mybatis3源码2-查询
- 手机怎么安装py thon_Python调试器– Py​​thon pdb
- 「转载」微服务分布式架构中,如何实现日志链路跟踪?
- STC学习:光照报警器
- 【记录】【解决方案】java发邮件错误:Couldn‘t connect to host, port: localhost, 25; timeout -1;易邮SMTP服务器无法启动;
- 快速在越狱iphone手机下定位app安装包并且导出的方法
- 自制solidworks图框步骤_solidworks工程图模板制作教程(上) - CAD自学网
- 简便word批量打印 - Office批量打印精灵(支持正版)
- H.264视频的RTP有效负载格式 (RFC-6184)
- Python 创建子线程
- 单片机炫彩灯实训报告_51单片机呼吸灯实验报告.doc
- RF之处理鼠标悬停和alert弹窗事件
- android gps定位完整代码,android GPS定位 (完整代码实例)
热门文章
- 前端学习(3060):vue+element今日头条管理-处理展示文章封面
- [vue] vue过渡动画实现的方式有哪些?
- [css] 请举例说明css有哪些不可继承的属性?
- 工作226:for循环逻辑
- 前端学习(2181):vue-router导航守卫的补充
- “约见”面试官系列之常见面试题之第七十四篇之v-if和v-for优先级(建议收藏)
- 前端学习(535):多列布局2
- 实例40:python
- rpm包安装mysql数据库
- c语言编译生成cpp,C语言的编译过程