相当于C++中的或“||”,如果A B C 三个变量中一个为真,那么另外两个变量就不会运算,真接执行接下来的语句,请问一下大家,VB中有简单的方法能做到这个吗?

解决方案 »

  1.   

    是这样吗:
    if A or B or C then
    或者:if A=true or B=true or C=true then
      

  2.   

    1楼的写法是可以实现楼主所说的效果,但实际上VB中,即使是or连接,也是要对每个表达式进行一遍测试的。
    想要验证这个结论,可以用 or 连接三个MsgBox函数的返回值。
      

  3.   

    vb6中应该没有这种短路语法
    vb.net中的OrElseif A OrElse B OrElse C then
        '语句
    end if
      

  4.   

    vb6用
    if A thenelseif B thenelseif C thenend if
      

  5.   

    if (A) or (B) or (C)thenend if
    if(A || B || C)
    {}
      

  6.   

    就是
    IF A OR B OR C THEN
    ...用ELSEIF的更慢,
    至于.NET什么的就表拿过来了,这个ORELSE看上去就很丑陋。
      

  7.   

    WallesCai :
    ORELSE看上去就很丑陋吗?那我还觉的OR也很丑陋哦,我觉的能满足语义的就是优美的
    再有elseif能比or慢多少??!
    把题目看清了再忽悠吧
      

  8.   

    3个字串,其中 "如有一个" 是数字为真, 则 Msgbox 提示 "继续下一行代码", 否则退出 SubPrivate Sub Command1_Click()
       If IIf(CheckNC("b", "3", "v"), True, False) = False Then Exit Sub
       MsgBox "继续下一行代码"
    End SubPublic Function CheckNC(Stra$, Strb$, Strc$) As Boolean
       CheckNC = IIf(IsNumeric(Stra) Or IsNumeric(Strb) Or IsNumeric(Strc), True, False)
    End Function