C#图解教程读书笔记(第15章 委托)
委托是C#的一个很重要的知识点。
1、什么是委托
委托在我认为,就是一系列格式相同的方法列表,可能就是定义的名称不一致,参数、返回值等都是一样的。
2、如何声明委托
delegate void MyFunc( int x );
delegate是声明委托的关键字,void是返回值,int x是函数的参数,MyFunc是委托的类型名。
3、创建委托对象
MyFunc funcTest;//声明委托
4、创建委托的标准形式
funcTest = new MyFunc(Test);
5、创建委托的简写
funcTest = Test;
6、委托方法的赋值
①直接赋值
funcTest = Test1;
funcTest = Test2;
如果是直接赋值的委托,重新赋值之后,将无法调用之前所赋的值。
②组合委托
MyFunc funcTest1 = Test1;
MyFunc funcTest2 = Test2;
MyFunc funcTest3 = funcTest1 + funcTest2;
但是,如果是组合委托即加法形式,则是增加委托列表的函数。
③增加委托方法
funcTest += Test2;
④删除委托方法
funcTest -= Test1;
7、委托会依次调用队列里面的方法,然后最后输出结果哦
8、委托的方法有三种方式
class TestDel
{
static void func1( int a);
void func2(int b);
}
①静态方法
funcTest = TestDel.func1;
②实例化的方法
TestDel cTest = new TestDel();
funcTest = cTest.func2;
③匿名方法
funcTest = delegate( int x ){//实现代码};
9、Lambda表达式
Lambda表达式的简洁,像最简写的的Lambda表达式,可以把
funcTest = delegate( int x){return x+1;};
简写为
funcTest = x => x+1;
说真的,刚开始一直知道有Lambda和Linq这两样东西,但是一直都下不下决心去看,这次也正好趁这个机会,好好地看一下。
虽然只是列了一下大概的知识点,但是,也算是看完了,哇哈哈
C#图解教程读书笔记(第15章 委托)的更多相关文章
- SQL Server2012 T-SQL基础教程--读书笔记(1-4章)
SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的 ...
- SQL Server2012 T-SQL基础教程--读书笔记(5-7章)
SQL Server2012 T-SQL基础教程--读书笔记(5-7章) SqlServer T-SQL 示例数据库:点我 Chapter 05 表表达式 5.1 派生表 5.1.1 分配列别名 5. ...
- 【C#4.0图解教程】笔记(第9章~第18章)
第9章 语句 1.标签语句 ①.标签语句由一个标识符后面跟着一个冒号再跟着一条语句组成 ②.标签语句的执行完全如同标签不存在一样,并仅执行冒号后的语句. ③.给语句添加一个标签允许控制从代码的另一部分 ...
- C++ primer plus读书笔记——第15章 友元、异常和其他
第15章 友元.异常和其他 1. 友元类的所有方法都可以访问原有类的私有成员和保护成员.另外,也可以做更严格的限制,只将特定的成员函数指定为另一个类的友元.哪些函数.成员函数.或类为友元是由类定义的, ...
- C#图解教程读书笔记(第3章 类型、存储及变量)
1.C#的中的数值不具有bool特性. 2.dynamic在使用动态语言编写的程序集时使用,这个不太明白,看到后面需要补充!! 动态化的静态类型 3.对于引用类型,引用是存放在栈中,而数据是存放在堆里 ...
- C#图解教程读书笔记(第2章 C#编程概述)
这章主要是一个对于C#程序的概括解释 和C/C++不同,不是用include声明引用的头文件,而是通过using的方式,声明引用的命名空间. 命名和C/C++类似,并且也是区分大小写的,这件事情在VB ...
- C#图解教程读书笔记(第1章 C#和.net框架)
C#中的主要需要记住的基础概念 CLR公共语言运行库 CIL中间语言,所有的代码都会编译成中间语言. CLI公共语言基础结构 C#的优点 C#有自动垃圾回收机制
- C#图解教程读书笔记(第9章 语句)
文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.Write ...
- C#图解教程读书笔记(第8章 表达式和运算符)
表达式 字面量 整数字面量 字符字面量 字符串字面量 求值顺序 优先级 结合性 与C和C++不同,在C#中的数字不具有布尔意义. 各种运算符的作用(过) 用户定义类型转换 class XiXiInt ...
随机推荐
- SQLServer—系统中的内存配置
前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE来限制内存.但是,在SQLServer2012以后,这个选项将被弃用,所以不能使用 ...
- mysql二
日期 MONTHNAME(birth) 月份的英文 模式匹配 变量 统计
- php 获取301 302的真实地址
function getRealURL($url){ $header = get_headers($url,1); if (strpos($header[0],'301') || strpos($he ...
- python编码问题(1)
一.字符编码基础 字符编码是计算机对字符的格式化,从而能够在计算机系统中存储与传输. 1.ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态 ...
- (六)6.15 Neurons Networks Deep Belief Networks
Hintion老爷子在06年的science上的论文里阐述了 RBMs 可以堆叠起来并且通过逐层贪婪的方式来训练,这种网络被称作Deep Belife Networks(DBN),DBN是一种可以学习 ...
- 【英语】Bingo口语笔记(44) - 进餐时的表达
- 深入学习Heritrix---解析CrawlController(转)
当我们以Web UI方式使用Heritrix时,点击任务开始(start)按钮时,Heritrix就开始了它的爬取工作.但它的内部 执行流程是怎样的呢?别急,下面将慢慢道来. (一)CrawlJobH ...
- phonegap 清空页面缓存
访问页面添加 <meta HTTP-EQUIV="pragma" CONTENT="no-cache"> <meta HTTP-EQUIV=& ...
- C++类构造函数初始化列表
C++类构造函数初始化列表 构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式.例如: class CExample {public: ...
- Ruby on Rail 开发入门
开发一个博客网站,users资源对象和Microposts评论内容 rails generate scaffold user name:string ,email:string 生成user对象的脚手 ...