Or 연산자(Visual Basic)
업데이트: 2007년 11월
두 Boolean 식의 논리합 연산을 수행하거나 두 숫자 식의 비트 논리합 연산을 수행합니다.
result = expression1 Or expression2
구성 요소
result
필수적 요소. 임의의 Boolean 식 또는 숫자 식입니다. Boolean 비교의 경우 result는 두 Boolean 값의 포함 논리합입니다. 비트 연산의 경우 result는 두 개의 숫자 비트 패턴의 포함 비트 논리합을 나타내는 숫자 값입니다.expression1
필수적 요소. 임의의 Boolean 식 또는 숫자 식입니다.expression2
필수적 요소. 임의의 Boolean 식 또는 숫자 식입니다.
설명
Boolean 비교의 경우 result는 expression1 및 expression2가 모두 False인 경우에만 False입니다. 다음 표에서는 result가 결정되는 방식을 보여 줍니다.
expression1 |
expression2 |
result의 값 |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
참고: |
---|
Boolean 비교에서 Or 연산자는 항상 두 식을 계산하고 프로시저 호출을 포함할 수 있습니다. OrElse 연산자는 expression1이 True일 경우 expression2를 평가하지 않는 단락(short circuit) 연산을 수행합니다. |
비트 연산의 경우 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이며 비트 비교 결과의 데이터 형식은 expression1 및 expression2의 데이터 형식에 적합한 숫자 형식입니다. 연산자 결과의 데이터 형식의 "관계 및 비트 비교" 표를 참조하십시오.
오버로딩
Or 연산자는 필요에 따라 오버로드할 수 있습니다. 즉, 피연산자의 형식이 특정 클래스 또는 구조체인 경우 해당 클래스나 구조체에서 이 연산자의 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스나 구조체에 대해 이 연산자를 사용할 때는 다시 정의된 동작을 알고 있어야 합니다. 자세한 내용은 연산자 프로시저를 참조하십시오.
예제
다음 예제에서는 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, True, False가 됩니다.
다음 예제에서는 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가 됩니다.