如果我注释掉一个成员的构造函数调用,为什么我的程序不工作?

时间:2016-04-11 22:15:47

标签: c# constructor stringbuilder default-constructor

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication8
{
    class Test
    {
        public StringBuilder a;

        /*public Test()
        {
            a = new StringBuilder();
        } */
    }

    class Program
    {
        static void Main(string[] args)
        {
            Test testobj = new Test();
            testobj.a.Append("Hello");
            Console.WriteLine(testobj.a);
            Console.ReadLine();
        }
    }
}

不应该为Test Class的默认构造函数调用类中每个文件的每个默认构造函数吗?

1 个答案:

答案 0 :(得分:5)

您似乎拥有C ++背景。您需要确保更好地理解C#中的对象引用。 null是引用类型,默认情况下:已初始化。