综上,示例中的 switch 语句经过编译器的翻译,大概会变成下面的样子(伪代码,其中的 table 即跳转表):
base = 1;
index = val - base;
if (index > 2...)
{
jump to default;
}
else
{
jump to table[index];
}
实际上, switch 语句的实现方式会更复杂一些,考虑下面的代码:
// val...扩展
C/C++ 的 switch 语句必须使用整型变量(之前所讲的各个 switch 语句实现大部分都基于这个前提),但在 C# 中,switch 语句的使用变的更加自由,一个实用的例子就是你可以在...这就引出了一个问题,当字符串分支较多时,性能会比较差(与直接使用 if 语句判断效率是一致的,但是不及整型形式的 switch 语句),我们能否进一步优化呢?...小结 : 多多使用 switch 语句吧
参考资料
C/C++中switch语句实现的介绍
C/C++中switch语句实现更深入的介绍