Udostępnij za pośrednictwem


Porady: określanie, czy dwa obiekty są jednakowe (Visual Basic)

W języku Visual Basic dwa odwołania do zmiennych są uważane za identyczne, jeśli ich wskaźniki są takie same, czyli jeśli obie zmienne wskazują to samo wystąpienie klasy w pamięci. Na przykład w aplikacji Windows Forms można porównać, aby określić, czy bieżące wystąpienie (Me) jest takie samo jak określone wystąpienie, takie jak Form2.

Visual Basic udostępnia dwa operatory do porównywania wskaźników. Operator Is zwraca True wartość , jeśli obiekty są identyczne, a operator IsNot zwraca True wartość , jeśli nie są.

Określanie, czy dwa obiekty są identyczne

Aby określić, czy dwa obiekty są identyczne

  1. Skonfiguruj Boolean wyrażenie, aby przetestować dwa obiekty.

  2. W wyrażeniu Is testowym użyj operatora z dwoma obiektami jako operandami.

    Is zwraca True wartość , jeśli obiekty wskazują to samo wystąpienie klasy.

Określanie, czy dwa obiekty nie są identyczne

Czasami chcesz wykonać akcję, jeśli dwa obiekty nie są identyczne i może to być niewygodne do połączenia Not i Is, na przykład If Not obj1 Is obj2. W takim przypadku można użyć IsNot operatora .

Aby ustalić, czy dwa obiekty nie są identyczne

  1. Skonfiguruj Boolean wyrażenie, aby przetestować dwa obiekty.

  2. W wyrażeniu IsNot testowym użyj operatora z dwoma obiektami jako operandami.

    IsNot zwraca wartość True , jeśli obiekty nie wskazują na to samo wystąpienie klasy.

Przykład

Poniższy przykład testuje Object pary zmiennych, aby sprawdzić, czy wskazują to samo wystąpienie klasy.

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))

W poprzednim przykładzie zostaną wyświetlone następujące dane wyjściowe.

objA different from objB? True

objA identical to objC? True

Zobacz też