以下三个程序有什么区别,哪些是对的
程序1:
namespace Test
{
    class Class1
    {
        private List<string> _list;
        public Class1(List<string> list)
        {
            _list = list;
        }
    }
}
程序2:
namespace Test
{
    class Class1
    {
        private List<string> _list = new List<string>();
        public Class1(List<string> list)
        {
            _list = list;
        }
    }
}程序3:
namespace Test
{
    class Class1
    {
        private List<string> _list;
        public Class1(List<string> list)
        {
            _list = new List<string>();
            _list = list;
        }
    }
}

解决方案 »

  1.   

    第一个 _list开始不被初始化,然后构造函数中指向参数list
    第二个 _list开始即被初始化,然后构造函数中指向参数list
    第三个 _list开始不被初始化,然后构造函数中先初始化,然后又指向参数list
      

  2.   

    class Class1
                {
                    private List<string> _list;
                    public Class1(List<string> list)
                    {
                        _list = list??new List<string>();
                    }
                }