良好的编码实践,否则如果

Cha*_*rld 0 c# asp.net

我有很多 ELSE IF 语句,但我想问一下是否有更好的编码方式,这是我的代码。

        if (txtMyTime.Text == "00:00")
        {
            myInteger = 0;
        }
        else if (txtMyTime.Text == "00:30")
        {
            myInteger = 0.5;
        }
        else if (txtMyTime.Text == "01:00")
        {
            myInteger = 1;
        }
        else if (txtMyTime.Text == "01:30")
        {
            myInteger = 1.5;
        }
        else if (txtMyTime.Text == "02:00")
        {
            myInteger = 2;
        }
        else if (txtMyTime.Text == "02:30")
        {
            myInteger = 2.5;
        }
        else if (txtMyTime.Text == "03:00")
        {
            myInteger = 3;
        }
        else if (txtMyTime.Text == "03:30")
        {
            myInteger = 3.5;
        }
        else if (txtMyTime.Text == "04:00")
        {
            myInteger = 4;
        }
        // And so on, until txtMyTime.Text == "24:00"
Run Code Online (Sandbox Code Playgroud)

一些SO大师可以告诉我是否有更好的编码方式?对于像我这样的新手来说会很棒。

fub*_*ubo 7

使用TimeSpan该类来为您管理。这也认识到04:15作为4.25例如。

string txtMyTime = "04:30";
TimeSpan ts = TimeSpan.Parse(txtMyTime);
double result = ts.TotalHours; //4.5
Run Code Online (Sandbox Code Playgroud)

在一行中:

myDouble = TimeSpan.Parse(txtMyTime.Text).TotalHours;
Run Code Online (Sandbox Code Playgroud)