C#构造函数是在创建给定类型的对象时执行的类方法。
构造函数具有与类相同的名称,它通常初始化新对象的数据成员。不带参数的构造函数称为“默认构造函数”。
无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。
除非类是 static 的,否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。
需要注意的是如果类的修饰符为static( sealed 和 abstract) 则编译器不会再类的定义中生成默认构造函数
对于值类型的构造函数与引用类型的构造器截然不同,CLR总是允许创建值类型的实例,并没有办法去阻止值类型的实例化,
编译器根本不会为值类型生成默认的无参构造器。
对于值类型不能包含显示的无参构造器
internal struct Point
{
public int ShowNumner;
public Point()
{
ShowNumner = 5;
}
}
各位看官 如果调用输出ShowNumner 值会是多少啊 ?小心上当 哦