我总是必须在C#中使用构造函数吗

本文关键字:构造函数 | 更新日期: 2023-09-27 17:59:10

我总是必须在C#中使用构造函数吗?

我正在研究一些例子。它们使用构造函数。我不确定我是否理解它,因为我觉得我不必使用构造函数。

我总是必须在C#中使用构造函数吗

如果没有定义构造函数,则会自动为您生成默认构造函数。生成的代码与写入相同:

public MyClass() : base()
{
}

如果您想要参数或成员初始化,那么您将需要编写自己的。如果从带有参数的基类继承,则还需要编写一个。既然你只是在学习构造函数,你还不需要担心,但这是需要记住的。

请注意,如果您定义任何构造函数(甚至是参数化的构造函数),则会删除此构造函数,因此如果您仍然想要无参数的构造函数,则需要显式定义它。

以下是默认构造函数的文档:MSDN

为每个类创建一个默认构造函数。但是,您可以创建自己的带有或不带有参数的构造函数。

例如,当类需要操作它所需的对象时,应该使用构造函数。

例如:

public class Car
{
    string _model = "";
    public Car(string CarModel)
    {
        this._model = CarModel;
    }
}

不要粗鲁,但你必须试一试。

类不需要构造函数(或者至少会生成一个调用基类匹配构造函数的构造函数,如果有),除非:

  • 您想要对变量进行一些初始化
  • 您希望传入参数
  • 您需要这样做,因为基类没有无参数构造函数

构造函数的目的是,如果在创建对象时有一些代码要执行,请将其写入构造函数EDIT在C#中不必使用构造函数。对于通过向导创建的类,默认情况下会创建一个构造函数。但是对于您创建/编写的类,您可以创建/编写构造函数。