C#---委托(delegate)

一,简介

1,声明一个委托类型。委托声明看上去和方法声明相似,只是没有实现块。

2,使用该委托类型声明一个委托变量。

3,创建委托类型的对象,把它赋值给委托变量。新的委托对象包括指向某个方法的引用,这个方法和第一步定义的签名和返回值类型一致。

4,你可以选择为委托对象增加其他方法。这些方法必须与第一步中定义的委托类型有相同的签名和返回类型。

5,在代码中你可以像调用方法一样调用委托。在调用委托的时候,其包含的每一个方法都会被执行。

二,声明

委托类型声明在两个方面与方法不同。委托类型声明:

1,以delegate关键字开头;

2,没有方法主体

三,创建

委托是引用类型,因此有引用和对象。


有两种创建委托对象的方式。

第一种是使用带new运算符的对象创建表达式:


第二种是使用快捷语法:

四,给委托添加和移除方法

1,添加

2,移除

3,调用

五,匿名方法

如果方法只会被使用一次,除了创建委托的语法需要,没有必要创建独立的具名方法。匿名方法允许我们使用独立的具名方法。

使用前:

使用后:

匿名方法表达式的语法包含如下组成部分:

1.delegate类型关键字

2.参数列表,如果语句块没有使用任何参数则可以省略

3.语句块,它包含了匿名方法的代码

六,Lambda表达式

以下步骤把匿名方法转为Lambda表达式

1.删除delegate关键字;

2.在参数列表和匿名方法主体之间放Lambda运算符  => 。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容