1、C#中如果您没有为对象提供构造函数,则默认情况下 C# 将创建一个构造函数,该构造函数实例化对象,并将成员变量设置为默认值表(C# 参考)中列出的默认值。非默认值列表中的类无法实例化
2、默认值表(C# 参考)
3、可以通过小实验测试class Program { static void Main(string[] args) { ceshi2 p2 = new ceshi2(); Console.WriteLine("p1:{0}",p2.p1.P); Console.ReadKey(); } } public class ceshi1 { public int P { get; set; } public ceshi1() { this.P = 1; } } public class ceshi2 { public ceshi1 p1 { get; set; } }运行该控制台应用程序将自动报错
4、不使用默认构造函数后clas衡痕贤伎s Program { static void Main(string[] args) { ceshi2 p2 = new ceshi2(); Console.WriteLine("p1:{0}",p2.p1.P); Console.ReadKey(); } } public class ceshi1 { public int P { get; set; } public ceshi1() { this.P = 1; } } public class ceshi2 { public ceshi1 p1 { get; set; } public ceshi2() { this.p1 = new ceshi1(); } }运行正常