委托初接触

怎么说呢 -_-....

委托就是一个存储方法引用的类

很简单也不简单^_^...

废话不多说了,直接上代码,解释都在代码里头了.


 1 /*
2 * Created by SharpDevelop.
3 * User: llh
4 * Date: 2014/5/12
5 * Time: 17:31
6 */
7 using System;
8
9 namespace DelegateTest
10 {
11 class Program
12 {
13 /// <summary>
14 /// 管理算术的委托
15 /// </summary>
16 delegate int MathDel(int a, int b);
17
18 public static void Main(string[] args)
19 {
20 int a = 2, b = 3;
21
22 //简单委托
23 MathDel mathDel = Math.Add;
24 var resu = mathDel(a, b);
25 Console.WriteLine(resu);
26
27 //术语:多播委托
28 //使用下面这种写法,会返回最后一个方法的返回值
29 mathDel += Math.Subtract;
30 resu = mathDel(a, b);
31 Console.WriteLine(resu);
32
33 //委托数组
34 MathDel [] mathDelList = {
35 Math.Add,
36 Math.Subtract
37 };
38 Console.WriteLine(mathDelList[0](a, b));
39
40 //绑定匿名方法
41 MathDel mathAnonymous = delegate(int v1, int v2) {
42 return v1 * v2;
43 };
44 Console.WriteLine(mathAnonymous(a,b));
45
46 //除了使用自定义委托外
47 //内置了两个委托,使用方法与普通的委托没区别
48 //有返回值(返回值类型为最后一个参数)
49 Func<int,int,int> func = Math.Add;
50 Console.WriteLine(func(a,b));
51 //无返回值
52 Action<String> action = Math.Pring;
53 Console.Write("Please input your name : ");
54 action(Console.ReadLine());
55 Console.ReadKey(true);
56 }
57 }
58
59 /// <summary>
60 /// 算术就是它算的 <-
61 /// </summary>
62 public class Math
63 {
64 /// <summary>
65 /// 返回给定参数的和
66 /// </summary>
67 /// <param name="a"></param>
68 /// <param name="b"></param>
69 /// <returns></returns>
70 public static int Add(int a, int b)
71 {
72 return a + b;
73 }
74 /// <summary>
75 /// 返回给定参数的差
76 /// </summary>
77 /// <param name="a"></param>
78 /// <param name="b"></param>
79 /// <returns></returns>
80 public static int Subtract(int a, int b)
81 {
82 return a - b;
83 }
84
85 /// <summary>
86 /// 输出 helloe! + 指定名称
87 /// </summary>
88 /// <param name="param"></param>
89 public static void Pring(String param){
90 Console.WriteLine("Hello!" + param);
91 }
92 }
93 }

委托初接触,布布扣,bubuko.com

时间: 2024-10-13 04:56:46

委托初接触的相关文章

【瞎折腾系列】mysql存储过程初接触

开始[瞎折腾系列],这个系列纯属瞎折腾,可能没有什么实际意义. mysql存储过程生成表: 新建一张user表,包含id, username , password , usertable字段. 然后创建存储过程: create PROCEDURE create_table() BEGIN DECLARE n int DEFAULT 0; DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET

cglib初接触

直接上代码吧. pom添加依赖: <dependencies> <dependency> <groupId>cglib</groupId> <artifactId>cglib-nodep</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId

linux的初接触

最初衷:当自己的才能不能支配起内心的梦想时,便需要静下心来读读书.知道linux算一个巧合,但既然选择,那便努力一把.这是我的第一篇博文,也是我正式接触linux的所学.愿与大家共勉. ---Aolens 一,Linux比较常见的几个版本以及他们包含的常见的分支: 1,  Debian:ubuntu 2,  Slackware:s.u.S.E 3,  Redhat:CentOS,Fedora,HREL(centos的社区版,由centos调试一些软件是否成功来添加到HREL中         )

MyBatis初接触

参考MyBatis官方文档. 基本开发步骤: 一.导包,mybatis-3.2.7.jar: 二.编写实体类Customer.java(与数据库表对应): 三.编写实体类对应的mapper接口CustomerMapper.java(定义实体类的操作): 四.编写实体类对应的mapper,Customer.xml(接口中的方法名与mapper中的操作的id名要一致): 五.编写mybatis-config.xml: 六.在mybatis-config.xml中注册mapper: 七.从xml获取S

jfinal初接触,一个简单的文件上传例子

写了个上传的小例子. 从jfinal官网下载jfinal-1.8_demo_for_jsp.zip 然后下载jfinal-1.8-lib.zip 按要求删掉该删除的,引入一些包,之后的项目结构: DemoConfig.java中配置路由,只留下了根路径: /** * 配置路由 */ public void configRoute(Routes me) { me.add("/", CommonController.class); //me.add("/blog", B

java8 lambda表达式初接触

环境是jdk8 代码如下: package memTest; /** * Created by PC on 2014/8/5. */ public class LambdaOne { public static void test(){ new Thread(()-> System.out.print("hi") ).start(); } public static void main(String[] args) { new LambdaOne().test(); } } ja

vi初接触

它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到n行:nG 最后一行:G 第一行:gg(=1G) 向某个方向移动n个字符: 方向可以用方向键,也可以用 h(左),k(上),l(右),j(下) #向右移动5个字符 eg:5l 寻找词语:/word(向下) ?word(向下) 寻找x,y行之间的单词并替换:x,ys/word/WORD/g (加C可询问处理) #

【Centos 7】------ SaltStack 初接触

最近学习了saltstack,初接触,发现他好强大,有多强大? 说不好,我只接触了冰山一角,但已经够我喝一壶的了. 接下来,将探究saltstack的世界,能发现多少新大陆,看自己的能力啦! saltstack 介绍: Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. salt底层采用动态的连接总线,使其可以用于编配,远程执行, 配置管理等等. 一个配置管理系统,能够维护预定义状态的远程节点(比如,确保指定的报

软工实践练习-Git初接触

第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下来就谈谈Git初接触的心得 1.注册 首先是要在https://github.com/上注册一个自己的账号,账号的注册就没什么可说的.填写用户名,邮箱,密码,然后sign up,这步是在机房时完成的. 2.Git的安装 下载Git,有很多的版本可以选择,我这边下载的是Git-2.5.1-64-bit