【发布时间】:2015-05-23 02:42:31
【问题描述】:
在 C# 中,int? 类型的类实例变量的默认值是多少?
例如,在下面的代码中,如果MyNullableInt 从未被显式赋值,它会有什么值?
class MyClass
{
public int? MyNullableInt;
}
(似乎答案几乎可以肯定是null 或0,但它是哪一个?)
【问题讨论】:
-
为什么投反对票? (如果没有实际运行代码来测试行为,这个问题的答案最初对我来说并不明显;令人惊讶的是,我在 StackOverflow 上找不到这个问题的副本,或者通过谷歌在其他地方很容易找到。)
-
你可能看过here - 谷歌第一次为我点击。
-
@500 - 我在研究时确实找到了那篇文章 - 实际上我在下面自己的答案中链接到了它 - 但据我所知,这篇文章并没有明确说明可空类型实例的默认值为空。它确实说“HasValue 的默认值为 false。Value 属性没有默认值”,但这并不能直接回答我最初的问题,而无需进行一些额外的挖掘。
-
我想知道是不是因为你可以设置一个断点看看值是多少,或者在即时窗口中输入
int? x;看看结果是什么?