您的位置:首页 > 编程语言 > C#

C#基础知识之六

2014-12-25 23:41 176 查看
C#基础知识之六

由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688

1、 匿名方法:是在初始化委托里内联声明的方法。组成由delegate类型关键字、参数列表、语句块 ----delegate (Parameters) { ImplementationCode }。

2、 匿名方法使用地方:声明委托变量时作为初始化表达式、组合委托时在赋值语句的右边、为委托增加事件时在赋值语句的右边。

3、 匿名方法参数列表必须有三个方面匹配委托:参数数量、参数类型、修饰符。

4、 匿名方法省略参数列表条件:列表中不包含任何out参数和方法不使用任何参数。

5、 委托声明的参数列表包含了Params参数,在匿名方法参数列表将忽略params关键字。

6、 参数和匿名方法内部局部变量的作用域限制在实现方法的主体内。

7、 匿名方法可以访问外围作用域的局部变量和环境。

8、 在匿名方法中实现外部变量称为方法捕获。只在捕获方法还是委托的一部分,即使变量已经离开作用域,被捕获的外部变量仍然有效。

9、 Lambda表达式:代替了匿名方法,将delegate改为运算符=>,以及简化操作。样例:

MyDel del=delegate(int x) {return x+1; }; //匿名方法

MyDel del= (int x) =>{ return x+1; }; //Lambda方法

MyDel del= ( x ) => { return x+1; }; //Lambda方法

MyDel del= x => { return x+1; }; //Lambda方法

MyDel del= x => x+1 ; //Lambda方法

10、 Lambda表达式列表要点:参数必须在数量、类型和位置上与委托相匹配、参数不一定要包含类型(除out或ref,此类型是必须的)、一个参数时圆括号可以省略、没有参数时,必须使用空的圆括号。

11、 触发事件:调用或触发事件的术语。当事件被触发时,注册到它的方法都会被依次调用。相当于观察者模式http://blog.csdn.net/zhgl7688/article/details/41969393。

12、 声明事件:只需要委托类型和名字,还可使用static变成静态的。

如 public event EventhandleElapsed //Eventhandle为委托类型,Elapsed为事件名。

13、 事件是成员不是类型,不能使用new来创建它的对象,其成员被隐式自动初始化为NULL。

14、 事件委托类型使用标准的预定义EventHandler,它的声明如下:

Public delegate void EventHandler(object sender,EventArgse);

15、 订阅事件:要为事件添加事件处理程序,处理程序必须有和事件委托一致的返回类型和签名,使用+=运算符来为事件增加事件处理程序。使用-=移除一个事件处理程序。

16、 事件方法有:实例方法、静态方法、匿名方法、lambda表达式。

由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: