zoukankan      html  css  js  c++  java
  • [笔记]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#开发轻松入门》

  • 相关阅读:
    TCP通信 -C/S中的Socket与ServerSocket
    打印流 -可将数据写入文件/可改变输出方向
    转换流 -解决输入输出时编码格式不统一的问题
    字节/字符缓冲流
    Properties -IO相关的双列集合类
    IO流 -字符输入输出流,以及异常处理方法
    IO流
    线程间的通信
    o(* ̄︶ ̄*)o
    1
  • 原文地址:https://www.cnblogs.com/qianhua/p/6673880.html
Copyright © 2011-2022 走看看