的雙重價值讓我們假設我有短定義的getter setter方法場像以下:
時吸氣setter方法使用
public double MyDouble { get; set; }
我想,如果它被設置或不檢查這個MyDouble值。我不能這樣檢查:
if(MyDouble == null) .... else ....
因爲雙變量不能得到空值。那麼如何設置或不設置該值?我是否必須使用保持isSet狀態的第二個變量,或者是否存在雙精度型的默認值?
謝謝。
的雙重價值讓我們假設我有短定義的getter setter方法場像以下:
時吸氣setter方法使用
public double MyDouble { get; set; }
我想,如果它被設置或不檢查這個MyDouble值。我不能這樣檢查:
if(MyDouble == null) .... else ....
因爲雙變量不能得到空值。那麼如何設置或不設置該值?我是否必須使用保持isSet狀態的第二個變量,或者是否存在雙精度型的默認值?
謝謝。
System.Double是結構(值類型)。
它不能是null。
您neeed使其可空:
double? MyDouble { get; set; }
我建議你使用空值類型。可空類型可以設置爲空,這樣你就可以檢查雙有一個空值或不:
double? myVal = null;
if(myVal==null)
Console.WriteLine("NULL DOUBLE ENCOUNTERED !");
雙缺省值是0,但它可能可能要將該值設置爲0在稍後的階段,檢查0看起來不太好。 你可以做的是在其構造函數的值設置爲 -
MyDouble = Double.MinValue;
,並在您的二傳手
if(MyDouble == Double.MinValue) .... else ....
Double.MinValue is -1.7976931348623157E+308
這是極不可能的,你會在你的課堂上設置檢查。
默認爲一個雙是0 – SynerCoder 2012-08-15 06:50:13
可以說我假設如果變量值爲0,那麼這意味着它沒有設置。但是如果價值被設置爲0,我會做什麼?我怎樣才能分開這些stutries? – Fer 2012-08-15 06:54:25
你不能說我的默認值。但在我看來,這是最好的選擇。如果由於某種原因你不能有空,那麼isSet狀態就是要走的路。 – SynerCoder 2012-08-15 07:22:04