如果第一个为真,那么评估两个条件的Statement?

时间:2013-10-30 22:37:25

标签: vb.net visual-studio visual-studio-2012

说我想要以下代码:

Sub X
    If TextBox1.Text = "Value" then 
    ' Do something
    ElseIf TextBox1.Text = "Value1" then
    ' Also do some other code
    End IF
 End Sub

我该怎么做?

我希望程序首先检查一下,如果确实如此,那么检查其他内容,如果是,则执行该代码。

3 个答案:

答案 0 :(得分:4)

您在寻找AndAlso吗?

If TextBox1.Text = "Value" AndAlso TextBox2.Text = "Value1" Then
    ....
End If

AndAlso运算符在表达式的两边之间执行逻辑运算。它评估第一个条件,如果此条件为false,则停止进一步处理(不评估第二个表达式)。只有当两个条件都为真时,才执行if中的代码。此行为称为short-circuiting evaluation

但是,在同一TextBox1

的两个条件中,您的问题中的代码都无法评估为true

答案 1 :(得分:1)

If condition1

then

 if condition2

then

     // do something

    end if

end if

如果你的代码中的例子是有效的,等于value1然后等于value2,你是否意味着你想要,因为它不能两者相等?

在这种情况下,您可以使用OR。

答案 2 :(得分:0)

而不是 - 如果,请执行:

    If TextBox1.Text = "Value" then 
    ' Do something
    end if
    If TextBox1.Text = "Value1" then
    ' Also do some other code
    End IF

或:

    If TextBox1.Text = "Value" then 
    ' Do something
        If TextBox1.Text = "Value1" then
       ' Also do some other code
        End IF
    end if

取决于您是否只在A也为真时才执行B.