为什么那么多语言采用switch case?

大家有没有发现,好多语言似乎都采用C的switch case,然而这种语句很低级,只能处理case为int和char型常量的情况。反观VB,select case是如此强大,可以处理各种类型的变量、常量,甚至是表达式。为什么其他语言宁可用低级的switch case也不采用高级一点的select case?
像下面这段代码switch case根本就无能为力,而if嵌套效率又低,只有select case才是最好的选择

        Select Case 9 < 1
            Case 1 > 7
                Debug.WriteLine("False")
            Case 9.1 - 12 < 0
                Debug.WriteLine("False")
            Case 9 * 80 > 50
                Debug.WriteLine("True")
            Case 5.5 > 5
                Debug.WriteLine("True")
            Case 7.4 < 1
                Debug.WriteLine("False")
            Case 8.8 > 8
                Debug.WriteLine("True")
        End Select

2个回答

第一,只有C Like的语言(C C++ Java C#)用switch case,没有switch case的语言多着呢。lz书读得少。
第二,C语言允许switch峨标签贯通,比如
switch (score)
{
case 0:
case 1:
case 2:
printf("不及格");
break;
case 3:
case 4:
case 5:
printf("及格");
}
第三,不存在if效率比switch低一说。
第四,各种语言语法有差异很正常。VB缺乏条件三元运算符,作为补救,有一个IIf函数,但是那玩意因为是弱类型的,效率低缺乏类型检查倒是是真的。

VB 和C ,C++
意思是VB最低级了
实际使用该如何选择呢,个人觉得能解决问题就行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐