如果该类没有构造函数,.Net将该类中的所有值设置为“默认值”是什么?

Lei*_*own 4 .net c# class default-constructor

在使用.Net的c#中,如果创建具有未初始化字段且没有构造函数的类,然后使用new关键字创建该类的实例,则.Net会将字段的值设置为“默认值”。这到底是什么意思呢?是否曾经有过将值设置为Null的情况?

Joe*_*ell 6

就像注释中提到的Johnny一样,此表列出了 .NET类型的默认值。引用类型字段的默认值为null


O. *_*per 5

默认值是按类型定义的。通常,任何引用类型都将默认为null

您可以根据文档中的类型找到默认值的完整列表。

此外,可以通过显式使用default关键字并检查(例如,在调试器中)返回的值来凭经验找出:

var x = default(string);
var y = default(int);
Run Code Online (Sandbox Code Playgroud)