初始化器的执行

规则:

尽可能地使用初始化器

所谓初始化器,就是在成员变量声明的时候赋值。例如:

public class Foo

{

private string Name = "张三";

}

好处:

1. 初始化器的代码在编译的时候会自动加在所有构造函数中最前面

2. 初始化器的代码会在父类构造函数执行之前执行,并且按照声明的顺序执行

例外:

1. 在初始化器中将成员变量初始化为这种类型的默认值是没有必要的,CLR会在CPU级完成这个动作,额外的初始化只会降低性能,例如:

int x = 0; //没有必要,当声明int x;时,CLR会自动将它赋默认值0

2. 如果多个构造函数对同一个成员变量的初始化动作不一致时,初始化器的使用会为跟初始化器不同的构造函数带来额外的开销

3. 如果对成员变量初始化过程中须处理异常

posted @ 2010-01-26 23:35  如斯夫  阅读(168)  评论(0编辑  收藏  举报