https://msdn.microsoft.com/zh-cn/library/saxz13w4(v=vs.80).aspx
新手,跟着 MSDN 上的 C#文档学习。
关于 struct ,它写道:
结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:
•在结构声明中,除非字段被声明为 const 或 static ,否则无法初始化。
•结构不能声明默认构造函数(没有参数的构造函数)或析构函数。
很是不解,这句话给我的直观感觉是: struct 的成员必须定义成 const 或者 static ,不然没办法初始化。
但实际上 struct 的成员可以不是 const/static
是不是我的理解有偏差。。。
1
Archangel_SDY 2016-03-15 17:40:02 +08:00 1
是指你不能给成员字段一个初始化的值吧.
|
2
KexyBiscuit 2016-03-15 18:07:25 +08:00 1
Initialize 指的是为这个 field 赋初始值, declare 是没问题的,所以 struct 的成员字段可以不是 const 或 static 。
另外…… 请阅读 MSDN Library 的英文版并选择最新的文章版本…… https://msdn.microsoft.com/en-us/library/saxz13w4.aspx |
3
wizardforcel 2016-03-16 10:13:33 +08:00 1
实例字段无法手动初始化,也不能自定义默认构造器(无参构造器)。默认构造器的行为是将所有字段赋默认值。
c#6.0 起可以自定义默认构造器。 |