비교 연산자는 두 식을 비교하고 해당 값의 관계를 나타내는 값을 반환 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
연산자를 사용하면 패턴을 지정할 수 있습니다. 그런 다음 문자열을 패턴과 비교하고 일치하는 경우 결과는 다음과 입니다 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
식이 True
에서 상속받는 x
를 타입으로 하는 Button
이기 때문에 Control
로 계산됩니다.
자세한 내용은 TypeOf 연산자(TypeOf Operator)를 참조하세요.
참고하십시오
.NET