所有if语句是否可以转换为等价的switch语句?
问题描述:
我认为所有,如果喜欢这个所有if语句是否可以转换为等价的switch语句?
if(condition){statements;}
语句可以转换为switch语句像这样
switch(!(same condition as in if)){case 0:statements;}
我是正确或者是有一些例外,不能从是否切换转换?
答
一个if()
语句中的任何条件的计算要么或(它实际上是0以外的任何值)。
所以在开关写它()语句相当于写入switch(a)
,其中一个可以是或。
所以,你绝对正确!
+0
...要么0或任何价值,其他比0 0 –
+0
感谢指出! –
你是对的。 – DyZ
可以,但不要。很少会切换更简洁的选择。 “if”树比使用开关调度有更明确的意义。 – Carcigenicate
是的,我更喜欢在大多数情况下过度开关。我写了这个问题只是为了找到所有if语句是否可以转换为switch的问题的答案。 – 0x81915