当前位置: 首页 > news >正文

一流的南昌网站建设wordpress模板手机

一流的南昌网站建设,wordpress模板手机,php p2p网站源码,知识库管理系统委托是.NET编程的精髓之一#xff0c;在日常编程中经常用到#xff0c;在C#中实现委托主要有Func、Action、delegate三种方式#xff0c;这个文章主要就这三种委托的用法通过实例展开讲解。 【Func】#xff1a;Func是带返回值的委托#xff1a; 原型函数如下(以下展示的… 委托是.NET编程的精髓之一在日常编程中经常用到在C#中实现委托主要有Func、Action、delegate三种方式这个文章主要就这三种委托的用法通过实例展开讲解。 【Func】Func是带返回值的委托 原型函数如下(以下展示的是有两个参数的情况) public delegate TResult Funcin T1, in T2, out TResult(T1 arg1, T2 arg2); 用法举例1: 定义方法StringAddA public int StringAddA(string a, string b) {return int.Parse(a) int.Parse(b); } 定义委托func然后把方法StringAddA委托给它接下来执行委托并获取结果注意 Funcstring, string, int func StringAddA; 是 Funcstring, string, int func new Funcstring, string, int(StringAddA);的简写 Funcstring, string, int func StringAddA;//简写 var result func.Invoke(3, 5);//可以简化为func(3, 5) sw.AppendLine($【func用法1】func返回结果是:{result}); ​​​这里的执行结果是 【func用法1】func返回结果是:8 用法举例2:  用lamda表达式简化写法,通过注册实现多播委托​​​​​​​ func (a, b) {return int.Parse(a) - int.Parse(b);};sw.AppendLine($【func用法2】func返回结果是:{func(3, 5)}); 这里的执行结果是 【func用法1】func返回结果是:-2 注意 可以注册多个委托委托执行后会按顺序执行方法. 【Action】Action是无返回值的委托 原型函数如下(以下展示的是有两个参数的情况) public delegate void Actionin T1, in T2(T1 arg1, T2 arg2); 用法举例 先定义方法StringAddB​​​​​​​ public void StringAddB(string a, string b) {sw.AppendLine($【Action用法】Action执行结果:{(int.Parse(a) int.Parse(b))}); } 实例如下​​​​​​​ Actionstring, string action StringAddB;//简写 IAsyncResult asyncResult action.BeginInvoke(3, 5, null, null);//action(3,5),BeginInvoke异步执行即开启新现成处理StringAddB action.EndInvoke(asyncResult);//阻塞委托直到执行完成 if (asyncResult.IsCompleted) {sw.AppendLine($【Action用法】当前异步委托线程已执行完成); } 这里BeginInvoke是异步委托即新开线程去处理我们的窗体线程在1号线程这里我们可以在StringAddB里面打印线程id号 sw.AppendLine($【Action用法】Action执行线程id:{Thread.CurrentThread.ManagedThreadId}); 运行结果 【Action用法】Action执行线程id:3 这里的EndInvoke是阻塞委托直到执行完成当然我们这里也可以用同步的Invoke去执行甚至Invoke都可以简写去掉直接写成action(3, 5) 【delegate】delegate是可以有返回值也可以没返回值的委托 使用前需要先声明 delegate int DelegateM(string a, string b);//声明,可以有返回值也可以没有 用法举例​​​​​​​ //delegate用法 //DelegateM delegateM new DelegateM(p.StringAddA); DelegateM delegateM StringAddA;//简写 sw.AppendLine($【delegate用法】delegate返回结果是:{delegateM(3, 5)}); 以上就是三种委托的区别和用法讲解那使用委托最大的优势是什么 可以将方法当作参数去传递用法举例如下 Test(func, action);//将方法委托后转化为参数进行传递 定义方法​​​​​​​ public void Test(Funcstring, string, int f, Actionstring, string a) {a.Invoke(f.Invoke(3, 5).ToString(), 5); }
http://www.hkea.cn/news/14392116/

相关文章:

  • 建设一个网站需要什么技术指标qq音乐插件 wordpress
  • 网站开发与管理心得体会山西住房建设厅官方网站
  • 北京低价网站建设怎么样用ps做网站
  • 网站建设的案例沈阳建设网站服务公司
  • 网站建设教程网北京网站设计公司哪儿济南兴田德润简介
  • 网站开发怎么对接客户app开发公司介绍
  • 合肥平台网站建设网站建设简介电话
  • 外贸网站 源怎么查网站是用什么语言做的
  • 网站下载工具天津网站建设论坛
  • 建筑工程网站监理答案广告设计好学吗难不难
  • 深圳极速网站建设费用百度全静态生成技术
  • 保险网站有哪些平台公司网站开发的核心技术
  • 萧山做网站公司山东网站建设运行工资
  • 上海网站开发定制泉州网站优化
  • 旅游建设投资公司中网站福州搜索排名提升
  • wordpress头像网站建设银行信用卡官方网站
  • 怎么给网站做访问量安贞街道网站建设
  • 做网站需要学数据库吗哪个网站可以做创意短视频
  • 如何鉴别网站有没有做301重定向网站模块图
  • 做投票网站教程网站开发流程说明
  • 网站设计与建设系统会计信息系统网站建设流程图
  • 兰州网站建设加王道下拉网站迁移后 后台进不去
  • 那些网站是做生鲜的设计培训机构排行榜
  • 太仓做网站做海购的网站
  • 网站设计高端网站设计泛华建设集团有限公司网站
  • 网站搜索框怎么做东北亚科技园里有做网站的吗
  • 成都网站建设seo优化天津网络公司流程
  • 免费行情网站大全织梦网站怎么做伪静态
  • 海南省住房和城乡建设厅网站电脑版云南做网站公司哪家好
  • 海口网站建设搜q479185700十大装饰公司排行榜