首页 > 解决方案 > 良好的编码实践,ELSE IF

问题描述

我有很多 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"

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

标签: c#asp.net

解决方案


使用TimeSpan课程来为您管理。这也承认04:154.25例如。

string txtMyTime = "04:30";
TimeSpan ts = TimeSpan.Parse(txtMyTime);
double result = ts.TotalHours; //4.5

在一行中:

myDouble = TimeSpan.Parse(txtMyTime.Text).TotalHours;

推荐阅读