Not 연산자(Visual Basic)
Boolean
식에 논리 부정을 수행하거나 숫자 식에 비트 부정을 수행합니다.
구문
result = Not expression
부분
result
필수입니다. 임의의 Boolean
또는 숫자 식입니다.
expression
필수입니다. 임의의 Boolean
또는 숫자 식입니다.
설명
Boolean
식의 경우 다음 표에서는 result
결정 방법을 보여 줍니다.
expression 가 |
result 의 값은 다음과 같습니다. |
---|---|
True |
False |
False |
True |
숫자 식의 경우 Not
연산자는 숫자 식의 비트 값을 반전하고 다음 표에 따라 result
에서 해당 비트를 설정합니다.
expression 의 비트가 다음과 같은 경우 |
result 의 비트는 다음과 같습니다. |
---|---|
1 | 0 |
0 | 1 |
참고 항목
논리 연산자와 비트 연산자는 다른 산술 연산자 및 관계형 연산자보다 우선 순위가 낮으므로 정확한 실행을 위해 비트 연산을 괄호로 묶어야 합니다.
Not someStr?.Contains("some string")
또는 Boolean?
로 평가되는 다른 값에 nothing
또는 HasValue=false
값이 있는 경우 else
블록이 실행됩니다. 평가는 null/nothing이 아무것도 같지 않고, 심지어 다른 null/nothing이 아닌 SQL 평가를 따릅니다.
데이터 형식
부울 부정의 경우 결과의 데이터 형식은 Boolean
입니다. 비트 부정의 경우 결과 데이터 형식은 expression
의 데이터 형식과 동일합니다. 그러나 식이 Decimal
면 결과는 Long
입니다.
오버로딩
Not
연산자는 오버로드될 수 있습니다. 즉, 해당 피연산자에 해당 클래스 또는 구조체의 형식이 있을 때 클래스 또는 구조체가 해당 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스나 구조에 대해 이 연산자를 사용하는 경우 재정의된 동작을 이해해야 합니다. 자세한 내용은 Operator Procedures을 참조하세요.
예 1
다음 예제에서는 Not
연산자를 사용하여 Boolean
식에 대해 논리적 부정을 수행합니다. 결과는 식 값의 역방향을 나타내는 Boolean
값입니다.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = Not (a > b)
secondCheck = Not (b > a)
앞의 예에서는 각각 False
및 True
의 결과를 생성합니다.
예제 2
다음 예제에서는 Not
연산자를 사용하여 숫자 식의 개별 비트에 대한 논리적 부정을 수행합니다. 결과 패턴의 비트는 부호 비트를 포함하여 피연산자 패턴에서 해당 비트의 반대로 설정됩니다.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (Not a)
secondPattern = (Not b)
thirdPattern = (Not c)
앞의 예제에서는 각각 –11, -9, –7의 결과를 생성합니다.
참고 항목
.NET