只要我记得我就避免使用switch语句掉线。实际上,我不记得它曾经作为一种可能的方式进入我的意识,因为它早在我的脑海中就被深深钻研了,它只不过是switch语句中的一个错误。但是,今天我遇到了一些设计上使用它的代码,这让我立即想知道社区中的每个人对switch语句失败的看法。
是某种编程语言应该明确不允许的(就像C#一样,尽管它提供了一种解决方法),或者它是任何一种功能强大的语言的功能,都足以让程序员掌握?
编辑: 我对落空的含义还不够具体。我经常使用这种类型:
switch(m_loadAnimSubCt){
case 0:
case 1:
// Do something
break;
case 2:
case 3:
case 4:
// Do something
break;
}
但是,我担心这样的事情。
switch(m_loadAnimSubCt){
case 0:
case 1:
// Do something, but fall through to the other cases
// after doing it.
case 2:
case 3:
case 4:
// Do something else.
break;
}
这样,只要大小写为0、1,它将在switch语句中执行所有操作。我从设计上就已经看到了这一点,但我不知道是否同意以这种方式使用switch语句。我认为第一个代码示例非常有用且安全。第二个似乎有点危险。