[筆記]C#基礎入門(十九)——C#中else與if的匹配


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

static void Main(string[] args) { string job = "科員"; if (job == "局長") Console.WriteLine("發雙黃月餅"); else if (job == "處長") Console.WriteLine("發蛋黃月餅"); else if (job == "科長")//請輸入
        Console.WriteLine("發棗泥月餅"); else Console.WriteLine("發五仁月餅"); }

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

 

       如果 if 和 else 比較多,又省略了{},怎么判斷那一個 if 和哪一個 else 是一對呢?請看下面的代碼:

static void Main(string[] args) { int x = 5; if (x > 5) if (x > 7) Console.WriteLine("A"); else Console.WriteLine("B"); else Console.WriteLine("C"); }

       當出現多個 if 和 else ,又沒有{}來界定范圍時,請參考下面2條原則:

 

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

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

 

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

static void Main(string[] args) { int x = 5; if (x > 5) { if (x > 7) { Console.WriteLine("A"); } else { Console.WriteLine("B"); } } else { Console.WriteLine("C"); } }

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

 

       多重 if 結構包含多個條件,每個條件對應一個分支。運行時,從上到下依次判斷每一個條件,當某個條件為 true ,就執行對應的分支,並且不再驗證其他的條件;若所有的條件均為 false ,則執行最后的 else 分支。


以上摘自慕課網課程《C#開發輕松入門》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM