使用getter setter时的double值

Fer*_*Fer -1 c# getter-setter

让我们假设我有一个具有短定义的getter setter的字段,如下所示:

public double MyDouble { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想检查这个MyDouble值是否设置.我不能这样检查:

if(MyDouble == null) .... else ....
Run Code Online (Sandbox Code Playgroud)

因为double变量不能获得null值.那么如果设置与否,我怎么能检查这个值呢?我是否必须使用保持isSet状态的第二个变量,或者double类型是否有任何默认值?
谢谢.

dec*_*one 5

System.Double是一个struct(值类型).

它不能为.

你需要让它可以为:

double? MyDouble { get; set; }
Run Code Online (Sandbox Code Playgroud)

有关Nullable类型的更多信息:可空类型(C#编程指南)