2013-02-12 47 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