-
如何:根据一个或多个条件运行语句 (Visual Basic)
您可以使用 If...Then...Else 语句 (Visual Basic) 并根据条件的 Boolean 数据类型 (Visual Basic) 值执行特定的语句或语句块。 条件通常通过两个值的比较得到,但也可以是任何计算为 Boolean 值(True 或 False)的表达式。 这包括已转换为 Boolean 的其他数据类型(如数字类型)的值。
在条件为 True 时运行一个或多个语句
-
如果您仅有一个语句需要运行,请使用 If...Then...Else 结构的单行语法。 不需要 Else 或 End If 语句。 下面的示例阐释了这一点。
Sub fixDate() Dim myDate As Date = #2/13/1973# If myDate < Now Then myDate = Now End Sub
- 或 -
-
若要在条件为 True 时执行多行代码,请使用多行语法,该语法包括 End If 语句。 如果没有在条件为 False 时运行的代码,请省略 Else 语句。 下面的示例阐释了这一点。
Dim alertLabel As New System.Windows.Forms.Label Sub alertUser(ByVal value As Long) If value = 0 Then alertLabel.ForeColor = System.Drawing.Color.Red alertLabel.Font = New Font(alertLabel.Font, FontStyle.Bold Or FontStyle.Italic) End If End Sub
在条件为 True 时运行某些语句,而条件为 False 时则运行另外一些语句
-
使用 If...Then...Else 结构和 Else 语句 (Visual Basic) 语句定义两个语句块。 Visual Basic 在条件为 True 时运行其中一个语句块,在条件为 False 时运行另一个。 下面的示例阐释了这一点。
Dim alertLabel As New System.Windows.Forms.Label Sub alertUser(ByVal value As Long) If value = 0 Then alertLabel.ForeColor = System.Drawing.Color.Red alertLabel.Font = New Font(alertLabel.Font, FontStyle.Bold Or FontStyle.Italic) Else alertLabel.Forecolor = System.Drawing.Color.Black alertLabel.Font = New Font(alertLabel.Font, FontStyle.Regular) End If End Sub
在第一个条件为 False 时测试附加条件
-
在第一个条件为 False 时,使用 If...Then...Else 结构和一个或多个 ElseIf 语句测试附加条件。 在下面的示例中,Function 过程根据绩效等级计算奖金。 仅当 If 和 ElseIf 语句中的条件全部为 False 时,Else 语句之后的语句块才会运行。
Function bonus(ByVal performance As Integer, ByVal salary As Decimal) As Decimal If performance = 1 Then Return salary * 0.1 ElseIf performance = 2 Then Return salary * 0.09 ElseIf performance = 3 Then Return salary * 0.07 Else Return 0 End If End Function
Visual Basic 按照条件在 If...Then...Else 语句中出现的顺序对它们进行测试。 如果遇到 True 条件或 Else 语句,它将运行相应的语句块。 控制随后传递给 End If 语句后面的语句。
可以有任意数量的 ElseIf 语句,或者根本没有。 无论您是否有任何 ElseIf 语句,都可以包括或省略一个 Else 语句。