[英]How to shorten a large if-else scenario?
是否有任何关于如何优化的建议,并在以下情况下缩短此时间:
if (secound < 10)
TimerLabel.Text = $"{Hour}:{Minute}:0{secound}";
if (Minute< 10)
TimerLabel.Text = $"{Hour}:0{Minute}:{secound}";
if (Hour < 10)
TimerLabel.Text = $"0{Hour}:{Minute}:{secound}";
if(secound <10 && Minute < 10)
TimerLabel.Text = $"{Hour}:0{Minute}:0{secound}";
if (secound < 10 && Hour < 10)
TimerLabel.Text = $"0{Hour}:{Minute}:0{secound}";
if(Minute < 10 && Hour < 10)
TimerLabel.Text = $"0{Hour}:0{Minute}:{secound}";
if(Hour < 10 && Minute < 10 && secound < 10)
TimerLabel.Text = $"0{Hour}:0{Minute}:0{secound}";
它只是一行。 使用字符串数字格式
TimerLabel.Text = $"{Hour:D2}:{Minute:D2}:{secound:D2}";
字母 D(格式说明符)后跟一个数值(精度说明符)指示格式代码提供足够的“0”字符来填充所需的空间
只需使用String.Format 语法
TimerLabel.Text = $"{Hour:00}:{Minute:00}:{Second:00}");
通常,我们不希望与工作Hour
, Minute
, second
分开(试想一下,有COMLEX它会像添加执行非常简单的操作5
小时, 59
分钟, 47
秒为单位),但随着TimeSpan
已专门desinged为了这:
TimeSpan period = new TimeSpan(Hour, Minute, second);
...
TimerLabel.Text = period.ToString();
如果Hour
、 Minute
、 second
表示时间,而不是时间段,请使用DateTime
:
DateTime time = DateTime.Today.Add(new TimeSpan(Hour, Minute, second));
...
TimerLabel.Text = time.ToString("HH:mm:ss");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.