---恢复内容开始---

1.delegate

一般用法

 delegate void WriteValue(string vale);//申明一个委托,参数是string类型,无返回值static void Main(string[] args){WriteValue write = new WriteValue(WriteLine);//实例化委托write("喝水");//调用
            Console.ReadKey();}public static void WriteLine(string value) {for (int i = 0; i < 5; i++){Console.WriteLine("第{0}次{1}", i, value);}}

View Code

匿名委托

 delegate void WriteValue(string vale);static void Main(string[] args){WriteValue write = delegate (string value) { Console.Write(value); };write("喝水");Console.ReadKey();}

View Code

使用lambda表达式

如需要传入多个参数,需要用"()"将参数包括起来,用","隔开.

  delegate void WriteValue(string vale,string value1);static void Main(string[] args){WriteValue write = (value,value1) => { Console.Write(value);Console.Write(value1); };write("喝水","吃饭");Console.ReadKey();}

View Code

多播委托

 delegate void WriteValue(string value);static void Main(string[] args){WriteValue value1 = new WriteValue(Write);value1 += new WriteValue(WriteLine);value1("s");Console.ReadKey();}public static  void WriteLine(string value) {Console.WriteLine("帮我倒杯卡布奇洛,谢谢");}public static void Write(object value) {Console.WriteLine("多加点糖,谢谢");}

View Code

2.Func<T,E>

T表示参数类型,E表示返回值类型. Func<T1,T2,T3,E>表示有三个参数,类型分别为T1,T2,T3,返回值为E,以此类推.Func<E>表示没有参数,返回值类型为E.

delegate void WriteValue(string value);static void Main(string[] args){Func<string, int> func = Length;Console.WriteLine(func("哈哈哈"));Console.ReadKey();}public static int Length(string value) {return value.Length;}

View Code

3.Action<T>

Action<T1,T2,T3>表示有三个参数,无返回值,以此类推.

static void Main(string[] args){Action<string, string> action = Length;action("吃饭饭", "喝水水");Console.ReadKey();}public static void Length(string value,string value1) {Console.WriteLine(value);Console.WriteLine(value1);}

View Code

4.Predicate<T>:表示定义一组条件并确定指定对象是否符合这些条件的方法。该委托返回的是一个bool类型的值,如果比较满足条件 .只能有一个参数.

 static void Main(string[] args){Predicate<int> predicate = Max;Console.WriteLine(predicate(12).ToString());Console.ReadKey();}public static bool Max(int value) {return value > 0;}

View Code

---恢复内容结束---

转载于:https://www.cnblogs.com/lzyqq/p/11309461.html

我爱学习第一天(委托)相关推荐

  1. Mcad学习笔记之委托再理解(delegate的构造器,MulticastDelegate,BeginInvoke,EndInvoke,Invoke4个方法的探讨)...

    相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...

  2. vuetify 学习第一天之v-data-table_表格组件

    v-data-table组件学习第一天 目录 文章目录 1.简介 2.常用属性 2.1.常用属性 2.2.详细描述 2.2.1.headers详解 2.2.2.items 2.2.3 .options ...

  3. 大一生活怎么过,一个爱学习的孩子是这么想的

    大一生活怎么过,一个爱学习的孩子是这么想的 这是本人第一次在网上写博客.写博客的目的是和大家分享一些经验,反思自己的生活,给自己一些动力,希望现在写的文章能让以后自己坚持不下去的时候再冲一会,也希望能 ...

  4. 我的JAVA学习第一周知识总结,个人感受小结

    JAVA学习第一周 1,了解三种开发模型 2,建包.建类的规范格式 3,了解不同数据类型 4,JAVA环境搭建 5,JVM.JRE.JDK是什么 6,if/else if语句的使用 7,各个语句swi ...

  5. 不可多得的学习软件 我爱学习 for Android

      大家好,很感谢大家对"我爱学习"的支持,也希望"我爱学习"能给大家尽可能多的帮助,"我爱学习" 将始终陪伴着您. "我爱学习& ...

  6. 精明的程序员——爱学习

    精明的程序员--爱学习 上一篇说到,尽可能少地去做重复的工作,因为它很难让人进步.这篇说说如何寻求进步,答案就是学习. 先说说我的大学经历吧:一二年级打基础,三年级开始做了第一个大项目,四年级就实习了 ...

  7. Android学习第一书

    大家好,我是一名Facebook的工程师,同时也是<第一行代码--Android>的忠实读者. 虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的< ...

  8. MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB

    2019独角兽企业重金招聘Python工程师标准>>> MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB 0.确保mac已经安装了HomeBrew ( ...

  9. 师生对话:我们都曾是爱学习的孩子

    记录一段师生对话.大一的同学,初入大学,要从心底里早知道学习是大学里最重要的事情之中的一个. [学生]我刚才听完大三大四学姐说实习什么事啥的 感觉真得立即好好学习的感觉 [老师]那当然得好好学习.学不 ...

最新文章

  1. String和常量池
  2. JavaWeb手机短信实现前台利用JS获取随机验证码,倒计时效果
  3. 致远表单代办状态删除
  4. Windows Phone开发手记-WinRT下分组拼音的实现
  5. OpenShift上的Java EE工作流(技术提示#64)
  6. 蓝桥杯单片机:模块代码
  7. 内容 超链接_excel中如何设置目录与返回目录超链接?这两种方法很简单
  8. 信息安全收集注意事项
  9. 自动控制原理学习笔记--反馈控制系统的动态模型
  10. 微信整人假红包图片_微信整人假红包 仿真整人红包图片
  11. java将英语单词进行词性分类排序_史上最全讲解,必须牢记的英语十类词性分类及用法!(上)...
  12. 哈铁职业学院 计算机,--哈尔滨铁道职业技术学院
  13. “新元宇宙”奇科幻小说原创作品《地球人奇游天球记》第四回飞离地球
  14. 关于react、vue的一些问题
  15. 导入的java文件不显示文字_java 引入自定义字体font后出现的硬盘吃光的问题
  16. vim滚动屏幕快捷键汇总
  17. 【洛谷P3386】【模板】二分图匹配【网络流】
  18. 手撕线程池 ThreadPool
  19. 百度文库搜索0下载券文档的方法:删除VIP这段代码就行。
  20. Android使用AudioRecord录制PCM音频、PCM转AAC、使用MediaRecorder直接录制AAC编码音频

热门文章

  1. 工作篇-佛山三水恒大-2020.10.23
  2. 【CodeForces - 271B 】Prime Matrix (素数,预处理打表,思维)
  3. Apollo进阶课程⑳丨Apollo感知之旅——机器学习与感知的未来
  4. workerman mysql_workerman/mysql
  5. mysql死锁的排查方法_MySQL死锁系列-线上死锁问题排查思路
  6. java验证xml格式是否正确的是_spring源码附录(1)java实现对XML格式的验证
  7. define定义的是什么类型_DEFINE_PROFILE用法介绍(1)
  8. 动态规划做多了以后,总结的相关知识
  9. leetcode39. 组合总和
  10. 算法(19)-leetcode-剑指offer3