두 식에 논리 결합을 수행하거나 두 Boolean
숫자 식에서 비트 결합을 수행합니다.
문법
result = expression1 And expression2
부분
result
필수 사항입니다. 임의의 Boolean
식 또는 숫자 식입니다. 부울 비교 result
의 경우 두 Boolean
값의 논리적 결합입니다. 비트 연산의 result
경우 두 숫자 비트 패턴의 비트 결합을 나타내는 숫자 값입니다.
expression1
필수 사항입니다. 임의의 Boolean
식 또는 숫자 식입니다.
expression2
필수 사항입니다. 임의의 Boolean
식 또는 숫자 식입니다.
비고
부울 비교 result
의 경우는 True
둘 다 expression1
이고 expression2
계산되는 경우에만 해당됩니다 True
. 다음 표에서는 결정 방법을 result
보여 줍니다.
If expression1 is |
그리고 expression2 는 |
값 result 은 |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
비고
부울 비교에서 연산자는 And
항상 프로시저 호출을 포함할 수 있는 두 식을 모두 평가합니다.
AndAlso 연산자는 단락을 수행합니다. 즉, 이 경우 expression1
False
expression2
평가되지 않습니다.
숫자 값 And
에 적용된 경우 연산자는 두 숫자 식에서 동일한 위치의 비트 비교를 수행하고 다음 표에 result
따라 해당 비트를 설정합니다.
비트가 있는 expression1 경우 |
그리고 비트는 다음과 입니다.expression2 |
비트는 다음과 입니다.result |
---|---|---|
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
비고
논리 연산자와 비트 연산자는 다른 산술 연산자 및 관계형 연산자보다 우선 순위가 낮기 때문에 정확한 결과를 보장하기 위해 비트 연산을 괄호로 묶어야 합니다.
데이터 형식
피연산자는 하나의 식과 하나의 Boolean
숫자 식으로 구성되는 경우 Visual Basic은 식을 숫자 값(-1 for True
및 0False
)으로 변환 Boolean
하고 비트 연산을 수행합니다.
부울 비교의 경우 결과의 데이터 형식은 .입니다 Boolean
. 비트 비교의 경우 결과 데이터 형식은 데이터 형식 expression1
및 expression2
.
연산자 결과의 데이터 형식에서 "관계형 및 비트 비교" 테이블을 참조하세요.
비고
연산자는 And
오버로드될 수 있습니다. 즉, 피연산자에 해당 클래스 또는 구조체의 형식이 있는 경우 클래스 또는 구조체가 해당 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스 또는 구조체에서 이 연산자를 사용하는 경우 다시 정의된 동작을 이해해야 합니다. 자세한 내용은 운영자 프로시저를 참조하세요.
예제 1
다음 예제에서는 연산자를 And
사용하여 두 식에 논리적 결합을 수행합니다. 결과는 Boolean
두 식이 모두인지 여부를 나타내는 값입니다 True
.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c
앞의 True
예제에서는 각각 결과와 False
결과를 생성합니다.
예제 2
다음 예제에서는 연산자를 And
사용하여 두 숫자 식의 개별 비트에서 논리 결합을 수행합니다. 피연산자의 해당 비트가 둘 다 1로 설정된 경우 결과 패턴의 비트가 설정됩니다.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)
앞의 예제에서는 각각 8, 2 및 0의 결과를 생성합니다.
참고하십시오
.NET