Visual Basic에서 두 변수 참조는 포인터가 같으면 동일한 것으로 간주됩니다. 즉, 두 변수가 메모리에서 동일한 클래스 인스턴스를 가리키는 경우입니다. 예를 들어 Windows Forms 애플리케이션에서 비교를 수행하여 현재 인스턴스(Me
)가 특정 인스턴스 Form2
와 같은지 여부를 확인할 수 있습니다.
Visual Basic은 포인터를 비교하는 두 개의 연산자를 제공합니다.
Is 연산자는 개체가 동일한 경우 True
를 반환하고, IsNot 연산자는 개체가 동일하지 않은 경우 True
를 반환합니다.
두 개체가 동일한지 확인
두 개체가 동일한지 확인하려면
두 개체를
Boolean
테스트하는 식을 설정합니다.테스트 식에서 두 개체를 피연산자로 사용하여
Is
연산자를 사용하십시오.Is
는 개체가 동일한 클래스 인스턴스를 가리키는 경우True
를 반환합니다.
두 개체가 동일하지 않은지 확인
때때로 두 개체가 동일하지 않을 때 작업을 수행하고 싶지만, Not
와 Is
을 결합하는 것이 어색할 수 있습니다. 예를 들어, If Not obj1 Is obj2
. 이러한 경우 연산자를 IsNot
사용할 수 있습니다.
두 개체가 동일하지 않은지 확인하려면
두 개체를
Boolean
테스트하는 식을 설정합니다.테스트 식에서 두 개체를 피연산자로 사용하여
IsNot
연산자를 사용하십시오.IsNot
는 개체가 동일한 클래스 인스턴스를 가리키지 않으면 반환True
됩니다.
예시
다음 예제에서는 변수 쌍을 Object
테스트하여 동일한 클래스 인스턴스를 가리키는지 확인합니다.
Dim objA, objB, objC As Object
objA = My.User
objB = New ApplicationServices.User
objC = My.User
MsgBox("objA different from objB? " & CStr(objA IsNot objB))
MsgBox("objA identical to objC? " & CStr(objA Is objC))
앞의 예제에서는 다음 출력을 표시합니다.
objA different from objB? True
objA identical to objC? True
참고하십시오
.NET