2013-02-12 86 views
-4

我是這個論壇和C#編程的新手。在這個項目上工作,我必須在控制語句完成後返回時間間隔作爲double。代碼片段如下。請告訴我我做錯了什麼。它不返回d;返回時間間隔作爲C#中的雙精度值#

public double GetInterval() 
{ 
    double d; 
    DateTime now = new DateTime(); 

    if (cb5Min.Checked) 
    { 
     d = ((60 - now.Second) * 1000 - now.Millisecond);    
    } 
    else if (cb15Min.Checked) 
    { 
     d= ((900 - now.Second) * 1000 - now.Millisecond); 
    } 

    return d; 
} 
+2

如果兩個測試都不正確會發生什麼?編譯器的錯誤信息是什麼意思?我們是否應該猜測您已經擁有的信息? – Jon 2013-02-12 10:28:47

+0

您正在返回一個可能未分配的局部變量;該代碼可能不會按原樣編譯。 – 2013-02-12 10:29:44

回答

0

請看TimeSpan結構和示例here

0

並非所有的路徑將更新d。 如果cb5Min.checked爲false並且cb15Min.checked爲false,那麼代碼將返回d的unitnitialised值。

+0

其實代碼不會編譯。由於這個問題。 – Jon 2013-02-12 10:30:25