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
Skonfiguruj
Boolean
wyrażenie, aby przetestować dwa obiekty.W wyrażeniu
Is
testowym użyj operatora z dwoma obiektami jako operandami.Is
zwracaTrue
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
Skonfiguruj
Boolean
wyrażenie, aby przetestować dwa obiekty.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