1
6
为什么?因为语言规范(ECMA 334 16.4.9)这样说:
至于为什么语言规范要求它。。。可能是为了通过避免不必要的擦除和覆盖,使结构赋值尽可能便宜。 |
2
0
这可以在C规范的第5.3.1节中找到,该节规定最初分配了以下类型的变量。目的清单如下:
以下值将为0:
这本身不会编译:
Jon Skeet有一个很好的答案: |
3
0
您可以这样做,现在所有值类型都已初始化:
注意,我只是调用了默认构造函数。 我认为这种行为的原因是,如果您调用默认构造函数或使用参数指定构造函数中的所有字段,它表明您知道自己在做什么,而不是意外地将某些字段初始化为默认值。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |