慕課網 3.7 C#中else與if的配比

if...else條件結構中,如果某個分支只包含一條命令,那么是可以省略大括號{}的。比如上一節的練習,可以簡化為:

請注意,如果分支中包含2條以上的命令,是不能省略{}的。

如果

if

else

比較多,又省略了{},怎么判斷那一個

if

和哪一個

else

是一對呢?請看下面的代碼:


當出現多個

if

else

,又沒有{}來界定范圍時,請參考下面2條原則:

每一個else與前面離它最近的if配對。按照這個原則,上面示例代碼的兩個else都與第二個if配對,這顯然是不可能的,于是又有了第二個原則。

多個else都與同一個if相近時,最內層的else優先配對。這樣,第一個else處于內層,就與第二個if優先配對,第二個else只能與第一個if配對。上面的示例代碼會輸出“C”。

根據這兩個原則,上面的代碼等同于如下的規范代碼:

編寫條件結構時,盡可能加上 {}可以省掉不必要的錯誤和麻煩。

程序


輸出結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 個人學習批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,782評論 0 11
  • 荒廢簡書已經有相當長一段時間,說來慚愧,曾經在之前的文章提過要堅持一年的讀書寫作,最終也沒能堅持下來。 在過去的這...
    wiz_chen閱讀 212評論 0 0
  • 1,Object類是Java中一個比較特殊的類,唯一沒有父類的類,如果一個類沒有使用關鍵詞extends那么這個類...
    殘月雨紛紛閱讀 309評論 0 1
  • 我們已經看到了形成Java并發程序設計基礎的底層構建塊。然而,對于實際編程來說,應該盡可能遠離底層結構。使用由并發...
    珍珠林閱讀 393評論 0 0