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
연산자를 사용하여 Not
및 Is
의 문법적으로 문제가 있는 조합을 피할 수 있습니다. 다음 예제에서는 이것을 보여 줍니다.
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 b
는 If 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 연산자를 참조하세요.
참고 항목
.NET