You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#中,类未定义构造函数会发生什么?如何实例化该类?

C#中无显式构造函数的类的行为与实例化方法

一、未定义构造函数时的情况

当C#类中没有显式定义任何构造函数时,编译器会自动为该类生成一个无参数的默认构造函数。这个默认构造函数的访问权限和类本身一致:

  • 如果类是public,默认构造函数就是public;
  • 如果类是internal或private,默认构造函数的访问级别也会匹配类的权限。

另外要注意两个细节:

  • 静态成员的初始化不会由这个默认构造函数处理,静态成员会由编译器自动生成的静态构造函数负责初始化;
  • 一旦你给类定义了任意构造函数(哪怕是带参数的),编译器就不会再生成这个默认的无参构造函数了。

二、无显式构造函数的类的实例化方法

直接通过new关键字调用默认的无参构造函数即可,写法和有显式无参构造函数的类完全一致:

示例代码:

// 没有定义任何构造函数的类
public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
}

// 实例化操作
User newUser = new User();
// 之后可以正常使用实例的属性
newUser.Username = "Alice";

⚠️ 注意:如果是静态类,不管有没有构造函数都无法实例化,因为静态类的设计本身就是不允许创建实例的。

内容的提问来源于stack exchange,提问作者Sara Fotros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:15:41