从我记事起,我就一直避免使用 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;
}
这样,只要 case 为 0, 1,它就会在 switch 语句中执行所有操作。我在设计上看到了这一点,我只是不知道我是否同意应该以这种方式使用 switch 语句。我认为第一个代码示例非常有用且安全。第二种似乎有点危险。