所有if语句是否可以转换为等价的switch语句?

问题描述:

我认为所有,如果喜欢这个所有if语句是否可以转换为等价的switch语句?

if(condition){statements;} 

语句可以转换为switch语句像这样

switch(!(same condition as in if)){case 0:statements;} 

我是正确或者是有一些例外,不能从是否切换转换?

+1

你是对的。 – DyZ

+1

可以,但不要。很少会切换更简洁的选择。 “if”树比使用开关调度有更明确的意义。 – Carcigenicate

+0

是的,我更喜欢在大多数情况下过度开关。我写了这个问题只是为了找到所有if语句是否可以转换为switch的问题的答案。 – 0x81915

一个if()语句中的任何条件的计算要么或(它实际上是0以外的任何值)。
所以在开关写它()语句相当于写入switch(a),其中一个可以是或。

所以,你绝对正确!

+0

...要么0或任何价值,其他比0 0 –

+0

感谢指出! –