慕课网 3.7 C#中else与if的配比

if...else条件结构中,如果某个分支只包含一条命令,那么是可以省略大括号{}的。比如上一节的练习,可以简化为:

慕课网 3.7 C#中else与if的配比_第1张图片
请注意,如果分支中包含2条以上的命令,是不能省略{}的。

如果

if

else

比较多,又省略了{},怎么判断那一个

if

和哪一个

else

是一对呢?请看下面的代码:

慕课网 3.7 C#中else与if的配比_第2张图片

当出现多个

if

else

,又没有{}来界定范围时,请参考下面2条原则:

每一个else与前面离它最近的if配对。按照这个原则,上面示例代码的两个else都与第二个if配对,这显然是不可能的,于是又有了第二个原则。

多个else都与同一个if相近时,最内层的else优先配对。这样,第一个else处于内层,就与第二个if优先配对,第二个else只能与第一个if配对。上面的示例代码会输出“C”。

根据这两个原则,上面的代码等同于如下的规范代码:

慕课网 3.7 C#中else与if的配比_第3张图片
编写条件结构时, 尽可能加上 {}可以省掉不必要的错误和麻烦。

慕课网 3.7 C#中else与if的配比_第4张图片
程序


慕课网 3.7 C#中else与if的配比_第5张图片
输出结果

你可能感兴趣的:(慕课网 3.7 C#中else与if的配比)