如果使用或者声明

时间:2017-04-21 07:06:33

标签: vb.net

任何人都可以解释为什么visual studio不喜欢或在if语句中。

我知道我可以使用elseif完成相同的工作,但我想了解为什么或不起作用。

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim input As String = "asdcessssf"
        Dim count As Integer
        Dim totalchar As Integer
        Dim final As Integer

        For Each ch As Char In input
            If ch = "a" Or "e" Then
                count += 1
                totalchar += 1

            Else
                totalchar += 1

            End If

        Next
        final = (count / totalchar) * 100
        MsgBox(final)
    End Sub
End Class

3 个答案:

答案 0 :(得分:1)

你正在以错误的方式制定条件。这应该是ch = "a" Or ch="e"。您在ch =

之后错过了Or

答案 1 :(得分:0)

在布尔比较中,Or运算符始终计算两个表达式,包括进行过程调用。 OrElse运算符(Visual Basic)执行短路,这意味着如果expression1为True,则不计算expression2。  您可以使用OrElse来获得短路行为。

答案 2 :(得分:0)

与" pmatyszok"解释您在"ch="e"之后遗漏了or,我建议您也将您的代码视为:

 For Each ch As Char In input
       If ch = "a" Or ch = "e" Then count += 1
        totalchar += 1
 Next