다음을 통해 공유


방법: 두 개체가 동일한지 확인(Visual Basic)

Visual Basic에서 두 변수 참조는 포인터가 같으면 동일한 것으로 간주됩니다. 즉, 두 변수가 메모리의 동일한 클래스 인스턴스를 가리키는 경우입니다. 예를 들어 Windows Forms 애플리케이션에서 비교를 수행하여 현재 인스턴스(Me)가 Form2 같은 특정 인스턴스와 같은지 여부를 확인할 수 있습니다.

Visual Basic은 포인터를 비교하는 두 개의 연산자를 제공합니다. Is 연산자는 개체가 같으면 True를 반환하고, 같지 않으면 IsNot 연산자True를 반환합니다.

두 개체가 동일한지 확인

두 개체가 동일한지 확인하려면

  1. 두 개체를 테스트하는 Boolean 식을 설정합니다.

  2. 테스트 식에서 두 개체가 Is 연산자를 피연산자로 사용합니다.

    Is는 개체가 동일한 클래스 인스턴스를 가리키는 경우 True를 반환합니다.

두 개체가 동일하지 않은지 확인

경우에 따라 두 객체가 동일하지 않은 경우 작업을 수행하려고 하고 NotIs를 결합하는 것이 어색할 수 있습니다(예: If Not obj1 Is obj2). 이러한 경우 IsNot 연산자를 사용할 수 있습니다.

두 개체가 동일하지 않은지 확인하려면

  1. 두 개체를 테스트하는 Boolean 식을 설정합니다.

  2. 테스트 식에서 두 개체와 함께 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

참고 항목