【发布时间】:2016-12-01 14:13:40
【问题描述】:
我有一个开关,我在其中检查某种属性,如果检查产生特定值,我想检查另一个值,所以我做了这样的事情:
switch(property_A)
{
case NA:
if(value_0 == property_B)
property_A = value_a;
else if(value_1 == property_B)
property_A = value_b;
case value_0:
...
break;
case value_1:
...
break;
}
所以,我知道这可以解决我的问题,但我不知道这是个好主意还是我应该以其他方式解决这个问题
# NA 情况类似于默认情况,但不完全是,因为它确实告诉了我一些事情,但还不够
【问题讨论】:
-
如果您在执行
NA中的内容后尝试跳转到正确的大小写,它将不起作用。 -
允许一个案例“失败”到下一个案例是很常见的。但是,您所做的并不是“检查另一个值”。如果您修改正在打开的值并希望从一开始就运行
switch,您需要一个循环。 -
如果你点击
case NA,你想让case value_o中的代码执行吗? -
没有休息我只是去下一个案例,不管我的property_A值是什么?
-
是的。这就是“失败”的意思,代码将继续。它“穿过”当前
case的底部并继续其下方的下一个。
标签: c switch-statement