在 if 块结构中,如下所示,假设 condition_1 和 condition_2 是互斥的,但有时 condition_2 和后面的条件都可以为真;并且,当 condition_2 为真时,所需要做的就是跳出 if 块并继续执行其余代码,类似于 switch 语句。
除condition_2 之外的所有条件都是matches针对具有多个按钮的父容器上的侦听器的语句。当 condition_2 为真时,它下面的按钮应该被禁用。
if ( condition_1 ) { }
else if ( condition_2 ) { }
else if ( condition_3 ) { }
else if ( condition_4 ) { }
// ...
else if ( condition_n ) { };
// More code in the function before returning.
可以编码为:
if ( condition_1 ) { }
else if ( !condition_2 && condition_3 ) { }
else if ( !condition_2 && condition_4 ) { }
// ...
else if ( !condition_2 && condition_n ) { };
// More code in the function before returning.
或者
if ( condition_1 ) { }
else if ( !condition_2 )
{
if ( condition_3 ) { }
else if ( condition_4 ) { }
// ...
else if ( condition_n ) { };
};
// More code in the function before returning.
只在第一个块中进行编码并且只在 condition_2 的大括号之间不放置任何代码,这样当 condition_2 为真时,没有代码可以执行,但其他条件没有被测试,它会选择if 块末尾的代码?
有没有更好更专业的方法来完成同样的任务?
我读过关于label在 if 语句上放置 a然后使用break label,但我没有看到添加了什么;并且有人提到编译器/解释器可能无法有效地使用该方法。
幕布斯7119047
相关分类