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#开发轻松入门》

  • 相关阅读:
    年末反思
    Flink运行时架构
    Phoenix 启动报错:Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.
    Clickhouse学习
    Flink简单认识
    IDEA无法pull代码到本地,Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    第1章 计算机系统漫游
    简单的 Shell 脚本入门教程
    开源≠免费 常见开源协议介绍
    MySQL 视图
  • 原文地址:https://www.cnblogs.com/qianhua/p/6673880.html
Copyright © 2011-2022 走看看