日期:2014-05-18  浏览次数:20778 次

在类的定义中和在构造函数中实例化一个对象有什么区别?
例如这段代码中,_nameList和_idList,有什么区别?一直没弄懂这个问题,谢谢!

C# code
public class Test
{
    private List<string> _nameList;
    private List<string> _idList = new List<string>();

    public Test()
    {
        _nameList = new List<string>();
    }
}


------解决方案--------------------
private List<string> _idList = new List<string>();
这句在构造函数之前执行,这是你必须注意的事情。
------解决方案--------------------
没区别
编译器会自动给你移到构造函数里去
------解决方案--------------------
执行顺序的问题,不过结果都是一样的

先不考虑继承关系,执行顺序为:

1.静态字段
2.静态构造方法
3.实例字段
4.实例构造方法

------解决方案--------------------
探讨

执行顺序的问题,不过结果都是一样的

先不考虑继承关系,执行顺序为:

1.静态字段
2.静态构造方法
3.实例字段
4.实例构造方法