类的字段在声明时初始化和在构造方法中初始化,有什么区别,哪个效率较高?声明时初始化:class Person
{
string name = string.Empty;
int age = 0;
public Person()
{}
}
构造方法中初始化:class Person
{
string name;
int age;
public Person()
{
name = string.Empty;
age = 0;
}
}

解决方案 »

  1.   

    这个是语法糖,编译器会把初始化的代码放到构造函数里,性能是一样的。但是,如果类有多个构造函数,那么编译器会在每个构造函数里插入这些初始化代码,编译出来的代码会稍大一些。可以把初始化的代码放到一个构造函数里,其他构造函数调用这个构造函数,这样做可以避免代码膨胀
      

  2.   

    效果都差不多,只是在要实现多个构造函数时,建议使用构造函数的形式。