다음을 통해 공유


Comparison Operators in Visual Basic

비교 연산자는 두 식을 비교하고 해당 값의 관계를 나타내는 Boolean 값을 반환합니다. 숫자 값을 비교하는 연산자, 문자열을 비교하는 연산자, 개체를 비교하는 연산자가 있습니다. 여기에서는 세 가지 유형의 연산자를 모두 설명합니다.

숫자 값 비교

Visual Basic에서는 6개의 숫자 비교 연산자를 사용하여 숫자 값을 비교합니다. 각 연산자는 숫자 값으로 계산되는 두 개의 식을 피연산자로 사용합니다. 다음 표에서는 연산자를 나열하고 각 연산자의 예를 보여 줍니다.

연산자 테스트한 조건 예제
=(같음) 첫 번째 식의 값이 두 번째 식의 값과 같나요? 23 = 33 ' False

23 = 23 ' True

23 = 12 ' False
<>(같지 않음) 첫 번째 식의 값이 두 번째 식의 값과 같지 않나요? 23 <> 33 ' True

23 <> 23 ' False

23 <> 12 ' True
<(보다 작음) 첫 번째 식의 값이 두 번째 식의 값보다 작나요? 23 < 33 ' True

23 < 23 ' False

23 < 12 ' False
>(보다 큼) 첫 번째 식의 값이 두 번째 식의 값보다 큰가요? 23 > 33 ' False

23 > 23 ' False

23 > 12 ' True
<=(작거나 같음) 첫 번째 식의 값이 두 번째 식의 값보다 작거나 같나요? 23 <= 33 ' True

23 <= 23 ' True

23 <= 12 ' False
>=(크거나 같음) 첫 번째 식의 값이 두 번째 식의 값보다 크거나 같나요? 23 >= 33 ' False

23 >= 23 ' True

23 >= 12 ' True

문자열 비교

Visual Basic은 Like 연산자와 비교 연산자를 사용하여 문자열을 비교합니다. Like 연산자를 사용하면 패턴을 지정할 수 있습니다. 그런 다음, 문자열을 패턴과 비교하여 일치하는 경우의 결과는 True입니다. 그렇지 않으면 결과는 False입니다. 숫자 연산자를 사용하면 다음 예제와 같이 정렬 순서에 따라 String 값을 비교할 수 있습니다.

"73" < "9"

' The result of the preceding comparison is True.

첫 번째 문자열의 첫 번째 문자가 두 번째 문자열의 첫 번째 문자 앞에 정렬되기 때문에 이전 예제의 결과는 True가 됩니다. 첫 번째 문자가 같으면 두 문자열의 다음 문자로 비교가 계속 진행됩니다. 다음 예제와 같이 같음 연산자를 사용하여 문자열의 같음을 테스트할 수도 있습니다.

"734" = "734"

' The result of the preceding comparison is True.

한 문자열이 "aa" 및 "aaa"와 같이 다른 문자열의 접두사인 경우 더 긴 문자열은 더 짧은 문자열보다 큰 것으로 간주됩니다. 다음 예제에서는 이것을 보여 줍니다.

"aaa" > "aa"

' The result of the preceding comparison is True.

정렬 순서는 Option Compare의 설정에 따라 이진 비교 또는 텍스트 비교를 기반으로 합니다. 자세한 내용은 Option Compare 문을 참조합니다.

개체 비교

Visual Basic은 두 개체 참조 변수를 Is 연산자IsNot 연산자와 비교합니다. 이러한 연산자 중 하나를 사용하여 두 참조 변수가 동일한 개체 인스턴스를 참조하는지 확인할 수 있습니다. 다음 예제에서는 이것을 보여 줍니다.

Dim x As testClass
Dim y As New testClass()
x = y
If x Is y Then
    ' Insert code to run if x and y point to the same instance.
End If

이전 예제에서 x Is y는 두 변수가 모두 동일한 인스턴스를 참조하기 때문에 True로 평가됩니다. 이 결과를 다음 예제와 대조해 보세요.

Dim x As New customer()
Dim y As New customer()
If x Is y Then
    ' Insert code to run if x and y point to the same instance.
End If

이전 예제에서 x Is y는 변수가 동일한 형식의 개체를 참조하더라도 해당 형식의 다른 인스턴스를 참조하기 때문에 False로 평가됩니다.

동일한 인스턴스를 가리키지 않는 두 개체를 테스트하려는 경우 IsNot 연산자를 사용하여 NotIs의 문법적으로 문제가 있는 조합을 피할 수 있습니다. 다음 예제에서는 이것을 보여 줍니다.

Dim a As New classA()
Dim b As New classB()
If a IsNot b Then
    ' Insert code to run if a and b point to different instances.
End If

이전 예에서 If a IsNot bIf Not a Is b와 동일합니다.

개체 형식 비교

TypeOf...Is 식을 사용하여 개체가 특정 형식인지 여부를 테스트할 수 있습니다. 구문은 다음과 같습니다.

TypeOf <objectexpression> Is <typename>

typename이 인터페이스 형식을 지정할 때 개체가 인터페이스 형식을 구현하면 TypeOf...Is 식은 True를 반환합니다. typename이 클래스 형식인 경우 개체가 지정된 클래스의 인스턴스이거나 지정된 클래스에서 파생되는 클래스의 인스턴스인 경우 식은 True를 반환합니다. 다음 예제에서는 이것을 보여 줍니다.

Dim x As System.Windows.Forms.Button
x = New System.Windows.Forms.Button()
If TypeOf x Is System.Windows.Forms.Control Then
    ' Insert code to run if x is of type System.Windows.Forms.Control.
End If

이전 예제에서 TypeOf x Is Control 식은 x의 형식이 Control에서 상속되는 Button 형식이기 때문에 True로 평가됩니다.

자세한 내용은 TypeOf 연산자를 참조하세요.

참고 항목