c# - 良好的编码实践,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 大师可以告诉我是否有更好的编码方式?对于像我这样的新手来说,这将是很棒的。
解决方案
使用TimeSpan
课程来为您管理。这也承认04:15
为4.25
例如。
string txtMyTime = "04:30";
TimeSpan ts = TimeSpan.Parse(txtMyTime);
double result = ts.TotalHours; //4.5
在一行中:
myDouble = TimeSpan.Parse(txtMyTime.Text).TotalHours;
推荐阅读
- spring-data-jdbc - 如何在 Spring Data JDBC 中使用许多可选的查询参数?
- javascript - FullCalender5如何使用setextendedproperty显示非标准属性
- visual-studio - 如何切换 TF 工作区的所有者?
- r - 如何在R中的数据框中按组用相邻行替换多个NA行?
- templates - 合并 helm 模板而不用空值覆盖
- asp.net-core - ASP NET CORE 和 Electron EDGE JS 不支持 System.Drawing
- opencv - 使用 opencv 的 opendds 视频流
- javascript - 修复反应中的变量声明
- javascript - 在 Javascript 中以毫秒为单位获取时间差异计算
- spring-boot - JPA AttributeConverter 不适用于 json 列字段中的枚举