다음을 통해 공유


Or 연산자(Visual Basic)

Boolean 식에 대해 논리적 분리를 수행하거나 두 숫자 식에 대해 비트 분리를 수행합니다.

구문

result = expression1 Or expression2  

부분

result
필수입니다. 임의의 Boolean 또는 숫자 식입니다. Boolean 비교의 경우 result은(는) 두 Boolean 값의 포괄적인 논리적 분리입니다. 비트 연산의 경우 result은(는) 두 숫자 비트 패턴의 포괄적인 비트 분리를 나타내는 숫자 값입니다.

expression1
필수입니다. 임의의 Boolean 또는 숫자 식입니다.

expression2
필수입니다. 임의의 Boolean 또는 숫자 식입니다.

설명

Boolean 비교의 경우 expression1expression2 모두 False(으)로 평가되는 경우에만 result은(는) False입니다. 다음 표에서는 result이(가) 결정되는 방법을 보여줍니다.

expression1이(가) 그리고 expression2은(는) result의 값은
True True True
True False True
False True True
False False False

참고 항목

Boolean 비교에서 Or 연산자는 항상 프로시저 호출을 포함할 수 있는 두 식을 모두 평가합니다. OrElse 연산자단락을 수행합니다. 즉, expression1이(가) True인 경우 expression2은(는) 평가되지 않습니다.

비트 연산의 경우 Or 연산자는 두 숫자 식에서 동일하게 배치된 비트의 비트 비교를 수행하고 다음 표에 따라 result에 해당 비트를 설정합니다.

expression1의 비트는 그리고 expression2의 비트는 result의 비트는
1 1 1
1 0 1
0 1 1
0 0 0

참고 항목

논리 및 비트 연산자는 다른 산술 및 관계 연산자보다 우선 순위가 낮기 때문에 정확한 실행을 위해 모든 비트 연산을 괄호로 묶어야 합니다.

데이터 형식

피연산자가 하나의 Boolean 식과 하나의 숫자 식으로 구성되는 경우 Visual Basic은 Boolean 식을 숫자 값(True의 경우 -1, False의 경우 0)으로 변환하고 비트 연산을 수행합니다.

Boolean 비교의 경우 결과의 데이터 형식은 Boolean입니다. 비트 비교의 경우 결과 데이터 형식은 expression1expression2의 데이터 형식에 적절한 숫자 형식입니다. 연산자 결과의 데이터 형식에서 "관계형 및 비트별 비교" 표를 참조하세요.

오버로딩

Or 연산자는 오버로드될 수 있습니다. 즉, 피연산자가 해당 클래스 또는 구조체 형식을 가질 때 클래스 또는 구조체의 동작을 재정의할 수 있습니다. 코드에서 이러한 클래스나 구조체에 대해 이 연산자를 사용하는 경우 재정의된 동작을 이해해야 합니다. 자세한 내용은 Operator Procedures을 참조하세요.

예 1

다음 예제에서는 Or 연산자를 사용하여 두 식에 대한 포괄적인 논리적 분리를 수행합니다. 결과는 두 식 중 하나가 True인지 여부를 나타내는 Boolean 값입니다.

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

앞의 예에서는 각각 True, TrueFalse의 결과를 생성합니다.

예제 2

다음 예제에서는 Or 연산자를 사용하여 두 숫자 식의 개별 비트에 대해 포괄적인 논리적 분리를 수행합니다. 피연산자의 해당 비트 중 하나가 1로 설정된 경우 결과 패턴의 비트가 설정됩니다.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)

앞의 예제에서는 각각 10, 14 및 14의 결과를 생성합니다.

참고 항목