Compartilhar via


Como: determinar se dois objetos são idêntico (Visual Basic)

Na Visual Basic, duas referências de variáveis são consideradas idênticas se os ponteiros forem iguais, ou seja, se ambas as variáveis apontar para a mesma instância de classe na memória.Por exemplo, em um aplicativo Windows Forms, talvez você queira fazer uma comparação para determinar se a instância atual (Me) é o mesmo que uma instância específica, como Form2.

Visual Basic fornece dois operadores para comparar ponteiros.O É o operador (Visual Basic) retorna True se os objetos são idênticos, e o Operador IsNot (Visual Basic) retorna True se eles não são.

Determinando se Dois Objetos São Idênticos

Para determinar se dois objetos são idênticos

  1. Organize uma expressão Boolean para testar os dois objetos.

  2. Na sua expressão de teste, use o operador Is com os dois objetos como operandos.

    Is retorna True se os dois objetos apontam para a mesma instância de classe.

Determinando se Dois Objetos Não São Idênticos

Às vezes você deseja realizar uma ação se dois objetos não são idênticos, e pode ser complicado combinar Not e Is, por exemplo If Not obj1 Is obj2.Em tal caso você pode usar o operador IsNot.

Para determinar se dois objetos não são idênticos

  1. Organize uma expressão Boolean para testar os dois objetos.

  2. Na sua expressão de teste, use o operador IsNot com os dois objetos como operandos.

    IsNot retorna True se os objetos não apontam para mesma instância de classe.

Exemplo

O exemplo a seguir testa pares de variáveis Object para ver se eles apontam para a mesma instância de classe.

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

O exemplo precedente exibe a seguinte saída.

objA different from objB? True

objA identical to objC? True

Consulte também

Tarefas

Como: determinar se dois objetos são relacionados (Visual Basic)

Referência

Tipo de dados Object

É o operador (Visual Basic)

Operador IsNot (Visual Basic)

Conceitos

Variáveis de objeto em Visual Basic

Valores de variáveis de objeto (Visual Basic)

Me, My, MyBase, and MyClass in Visual Basic