c语言case两个变量的组合,我可以使用带有两个变量的case/switch语句吗?
DashK..
21
一个按位运算符怎么样?而不是字符串,你处理"enums",看起来更"优雅".
// Declare slider's state "enum"
var SliderOne = {
A: 1,
B: 2,
C: 4,
D: 8,
E: 16
};
var SliderTwo = {
A: 32,
B: 64,
C: 128,
D: 256,
E: 512
};
// Set state
var s1 = SliderOne.A,
s2 = SliderTwo.B;
// Switch state
switch (s1 | s2) {
case SliderOne.A | SliderTwo.A :
case SliderOne.A | SliderTwo.C :
// Logic when State #1 is A, and State #2 is either A or C
break;
case SliderOne.B | SliderTwo.C :
// Logic when State #1 is B, and State #2 is C
break;
case SliderOne.E | SliderTwo.E :
default:
// Logic when State #1 is E, and State #2 is E or
// none of above match
break;
}
然而,我同意其他人的看法,25个案例的交换案例逻辑并不太漂亮,如果 - 在某些情况下可能"看起来"更好.无论如何.
单。我们在这里说“按位或”。参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators (2认同)
因篇幅问题不能全部显示,请点此查看更多更全内容