2017-04-21 1 views
1

누구든지 Visual Studio에서 if 또는 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 
+6

Or''에 대한 올바른 구문은'만약 CH = "A"또는이다 ch = "e"Then' –

답변

1

조건을 잘못 작성하고 있습니다. 이 값은 ch = "a" Or ch="e"이어야합니다. ch = 이후에 Or

+0

고마워, 지금은 왜 작동하지 않는지 알 겠어. – Ricky

0

부울 비교에서 Or 연산자는 프로 시저 호출을 포함 할 수있는 두 식을 항상 평가합니다. OrElse 연산자 (Visual Basic)는 단락을 수행합니다. 즉, expression1이 True이면 expression2는 평가되지 않습니다. OrElse를 사용하여 단락 동작을 얻을 수 있습니다.

+1

나는 무례한 말을하는 것이 아니지만, 약간의 요점을 놓친 것 같아요. 코드가 실패하는 이유는 'Or'를 사용했기 때문이 아닙니다. 'ch'가 실제로''e''와 같은지 검사하지 않기 때문입니다. 이것은'ch = "a"OrElse "e"'다른 말로도 실패합니다. – Bugs

+0

도 사실 일 것임에 틀림 없다. 나는 그것을 생각하지 않고있다. –

0

으로는 "pmatyszok"당신이 or"ch="e" 누락 한과 설명, 그리고 난 당신이 또한 당신의 코드를 optimase하는 것이 좋습니다 :

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