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#開發輕松入門》
