[英]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.