다음을 통해 공유


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)

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

예제 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의 결과를 생성합니다.

참고 항목