OrElse 연산자(Visual Basic)

두 식에서 단락 포괄 논리 분리를 수행합니다.

문법

result = expression1 OrElse expression2  

부분

result
필수 사항입니다. 모든 Boolean 식입니다.

expression1
필수 사항입니다. 모든 Boolean 식입니다.

expression2
필수 사항입니다. 모든 Boolean 식입니다.

비고

컴파일된 코드가 다른 식의 결과에 따라 한 식의 평가를 무시할 수 있는 경우 논리 연산은 단락 이라고 합니다. 계산된 첫 번째 식의 결과가 작업의 최종 결과를 결정하는 경우 최종 결과를 변경할 수 없으므로 두 번째 식을 평가할 필요가 없습니다. 바이패스 식이 복잡하거나 프로시저 호출이 포함된 경우 단락은 성능을 향상시킬 수 있습니다.

두 식 중 하나 또는 둘 다 계산되는 Trueresult 경우는 다음과 같습니다True. 다음 표에서는 결정 방법을 result 보여 줍니다.

If expression1 is 그리고 expression2 는 값 result 은
True (평가되지 않음) True
False True True
False False False

데이터 형식

OrElse 연산자는 부울 데이터 형식에 대해서만 정의됩니다. Visual Basic은 식을 평가하기 전에 필요에 Boolean 따라 각 피연산자를 변환합니다. 결과를 숫자 형식에 할당하면 Visual Basic에서 Boolean 해당 형식 False 으로 변환됩니다.0True-1 자세한 내용은 부울 형식 변환을 참조하세요.

오버로딩

Or 연산자와 IsTrue 연산자를 오버로드할 수 있습니다. 즉, 피연산자에 해당 클래스 또는 구조체의 형식이 있을 때 클래스 또는 구조체가 해당 동작을 다시 정의할 수 있습니다. 및 IsTrue 연산자를 Or 오버로드하면 연산자의 동작에 영향을 줍니다OrElse. 코드가 오버로드 OrIsTrue되는 클래스 또는 구조체에서 사용하는 OrElse 경우 다시 정의된 동작을 이해해야 합니다. 자세한 내용은 운영자 프로시저를 참조하세요.

예제 1

다음 예제에서는 연산자를 OrElse 사용하여 두 식에 대해 논리적 분리를 수행합니다. 결과는 Boolean 두 식 중 하나가 true인지 여부를 나타내는 값입니다. 첫 번째 식이 True면 두 번째 식은 평가되지 않습니다.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b

앞의 True예제에서는 각각 , True및 False 결과를 생성합니다. 계산 firstCheck에서 두 번째 식은 첫 번째 식이 이미 True있으므로 계산되지 않습니다. 그러나 두 번째 식은 계산에서 secondCheck계산됩니다.

예제 2

다음 예제에서는 두 개의 프로시저 호출을 포함하는 ...Then 문을 보여 If드립니다. 첫 번째 호출이 반환 True되면 두 번째 프로시저가 호출되지 않습니다. 두 번째 프로시저가 코드의 이 섹션이 실행될 때 항상 수행해야 하는 중요한 작업을 수행하는 경우 예기치 않은 결과가 발생할 수 있습니다.

If testFunction(5) = True OrElse otherFunction(4) = True Then
    ' If testFunction(5) is True, otherFunction(4) is not called.
    ' Insert code to be executed.
End If

참고하십시오