我有時候自己寫代碼,需要將幾層if/else語句合併到一起(例子可以在下面找到)。
我想知道是否可以縮短一點,因爲有時候我有超過70行代碼的if/else語句的樹,而且它們實際上只是填充得太多而不是多少行看起來多餘。有沒有一種更簡單的方法來寫幾個if/else語句到彼此?
下面是一個例子代碼:
if (labelGiveTip1.Visible == true)
{
if (labelGiveTip2.Visible == true)
{
labelGiveTip3.Visible = true;
if (labelGiveTip3.Visible == true)
{
Custom_DialogBox.Show("All of your hints for this assignment is used, do you want annother assignmment?", //main text argument
"Error: No more hints", //header argument
"Back", //first button text argument
"Get a new assignment"); //second button text argument
//this is a custom dialog box
result = Custom_DialogBox.result;
switch (result)
{
case DialogResult.Yes:
buttonNextAssignment.PerformClick();
break;
case DialogResult.Cancel:
break;
default:
break;
}
}
}
else
{
labelGiveTip2.Visible = true;
}
}
else
{
labelGiveTip1.Visible = true;
}
'labelGiveTip3.Visible = true; if(labelGiveTip3.Visible == true){}'這個條件看起來似乎沒有必要,因爲它總會是真的。 – mcserep
就我個人而言,我討厭代碼,其中布爾表達式具有與「if(condition == true)」和「if(condition == false)」一樣的真或假的額外比較。我更喜歡'if(condition)'和'if(!condition)'。 –
我嘗試使用一般規則,如果一種方法跨越一個全屏垂直,那麼它需要重構。所以如果你有70行代碼,那麼你太過分了。 – Enigmativity