根据我所读到的,构造函数可以有两个含义:
在计算机编程语言中,术语默认构造函数可以 指的是由编译器自动生成的构造函数 在没有任何程序员定义的构造函数的情况下(例如在Java中)
和
在其他语言中(例如在C ++中),它可以是构造函数 无论如何,都不必提供任何论据 构造函数是自动生成还是使用定义的
所以在C#的上下文中,默认构造函数意味着什么,它是指自动生成的构造函数,它唯一的工作是将成员初始化为某些默认值?
答案 0 :(得分:5)
在C#中,当您没有定义任何构造函数时,默认构造函数是编译器为您生成的空构造函数(没有参数)。
答案 1 :(得分:4)
根据定义,C#中的默认构造函数是具有此类签名的构造函数:
Class()
{
}
这里没有提供参数,因此编译器可以毫无疑问地调用此方法。如果你的类提供了一些其他的构造函数,那么默认的构造函数是由编译器生成的,你必须手动添加它:
Class() : this(null)
{
}
Class(object data)
{
}
在默认构造函数中,您可以为表示其状态的类定义逻辑,例如私有字段或外部组件。默认构造函数的另一个目的可以在依赖注入容器中找到,它用于正在映射的对象的默认实例化。
答案 2 :(得分:2)
C#中的默认构造函数是一个自动生成的构造函数,以防您没有提供任何构造函数。在这种情况下,编译器将添加不接受任何参数的默认公共构造函数。 但是,只要您定义了任何构造函数,默认构造函数就不再可用。
答案 3 :(得分:1)
在C#中,默认构造函数和无参数构造函数实际上是同义词。即:
public MyClass()
{
}
请注意,与C ++一样,提供参数化构造函数会删除“提供的”默认构造函数。您总是可以添加默认/无参数定义。
答案 4 :(得分:0)
答案 5 :(得分:0)
默认构造函数是无参数的,并且在类不包含实例构造函数声明时提供。
尝试MSDN