|
1
6
为什么?因为语言规范(ECMA 334 16.4.9)这样说:
至于为什么语言规范要求它。。。可能是为了通过避免不必要的擦除和覆盖,使结构赋值尽可能便宜。 |
|
|
2
0
这可以在C规范的第5.3.1节中找到,该节规定最初分配了以下类型的变量。目的清单如下:
以下值将为0:
这本身不会编译:
Jon Skeet有一个很好的答案: |
|
|
3
0
您可以这样做,现在所有值类型都已初始化:
注意,我只是调用了默认构造函数。 我认为这种行为的原因是,如果您调用默认构造函数或使用参数指定构造函数中的所有字段,它表明您知道自己在做什么,而不是意外地将某些字段初始化为默认值。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 8 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 8 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 8 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |