VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • If...Then...Else 语句 (Visual Basic)

根据表达式的值,有条件地执行一组语句。

' Multiple-line syntax:
If condition [ Then ]
    [ statements ]
[ ElseIf elseifcondition [ Then ]
    [ elseifstatements ] ]
[ Else
    [ elsestatements ] ]
End If

' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]

部件

  • condition
    必选。 表达式。 计算结果必须为 True 或 False 或者可隐式转换为 Boolean 的数据类型。

  • Then
    在单行语法中为必选项,在多行语法中为可选。

  • statements
    可选。 跟在 If...Then 后面的一条或多条语句,如果 condition 的计算结果为 True,则执行这些语句。

  • elseifcondition
    如果存在 ElseIf,则为必选。 表达式。 计算结果必须为 True 或 False 或者可隐式转换为 Boolean 的数据类型。

  • elseifstatements
    可选。 跟在 ElseIf...Then 后面的一条或多条语句,如果 elseifcondition 的计算结果为 True,则执行这些语句。

  • elsestatements
    可选。 一条或多条语句,如果前面的 condition 或 elseifcondition 表达式的计算结果都不是 True,则会执行这些语句。

  • End If
    终止 If...Then...Else 块。

备注

多行语法

当遇到 If...Then...Else 语句时,condition 将被测试。 如果 condition 为 True,则会执行 Then 之后的语句。 如果 condition 为 False,则按顺序计算每个 ElseIf 语句(如果有)。 如果找到某个值为 True 的 elseifcondition,则会执行紧跟在关联的 ElseIf 之后的语句。 如果没有任何 elseifcondition 的计算结果为 True,或者没有 ElseIf 语句,则会执行 Else 之后的语句。 执行了 Then、ElseIf 或 Else 后面的语句之后,将继续执行 End If 之后的语句。

ElseIf 和 Else 子句都是可选。 可以根据需要在 If...Then...Else 语句中放置任意多个 ElseIf 子句,但 ElseIf 子句不能出现在 Else 子句后面。 If...Then...Else 语句可以相互嵌套。

在多行语法中,第一行只能是 If 语句。 ElseIf、Else 和 End If 语句的前面只能有行标签。 If...Then...Else 块必须以 End If 语句结尾。

 提示

当计算具有若干可能值的单个表达式时,Select...Case 语句 (Visual Basic) 可能会更有用。

单行语法

可以将单行语法用于简短的测试。 但是,多行语法提供更多的结构和灵活性,并且通常更易于阅读、维护和调试。

Then 关键字后面是进行检查,以确定语句是否为单行 If。 如果同一行中的 Then 后面出现注释以外的任何其他内容,则该语句将被视为单行 If 语句。 如果 Then 不存在,则它必须是多行 If...Then...Else 的开头。

在单行语法中,可以作为 If...Then 判定的结果执行多条语句。 所有语句必须位于同一行上,并且由逗号分隔。

示例

下面的示例阐释了 If...Then...Else 语句中多行语法的用法。

VB
        Dim count As Integer = 0
        Dim message As String

        If count = 0 Then
            message = "There are no items."
        ElseIf count = 1 Then
            message = "There is 1 item."
        Else
            message = "There are " & count & " items."
        End If

下面的示例包含嵌套 If...Then...Else 语句。

VB
Private Function CheckIfTime() As Boolean
    ' Determine the current day of week and hour of day.
    Dim dayW As DayOfWeek = DateTime.Now.DayOfWeek
    Dim hour As Integer = DateTime.Now.Hour

    ' Return True if Wednesday from 2 to 4 P.M.,
    ' or if Thursday from noon to 1 P.M.
    If dayW = DayOfWeek.Wednesday Then
        If hour = 14 Or hour = 15 Then
            Return True
        Else
            Return False
        End If
    ElseIf dayW = DayOfWeek.Thursday Then
        If hour = 12 Then
            Return True
        Else
            Return False
        End If
    Else
        Return False
    End If
End Function

下面的示例阐述了单行语法的用法:

VB
If A > 10 Then A = A + 1 : B = B + A : C = C + B

 

原文链接:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/752y8abs(v=vs.100)



相关教程