Como: Determinar se dois objetos são idênticos

Visual Basic considera que dois objetos são idênticos se seus ponteiros são os mesmos, ou seja, se ambas as variáveis apontam para a mesma instância de classe na memória.Você pode desejar fazer esta comparação, por exemplo, para determinar se a instância atual (Eu) é a mesma que uma instância particular como Form2.

Visual Basic fornece dois operadores para comparar ponteiros.O Operador Is (Visual Basic) retorna True se os objetos são idênticos, e o Operador IsNot 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 = Me
objB = New System.Windows.Forms.Form()
objC = Me
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

Conceitos

Variáveis de objeto no Visual Basic

Valores de Variáveis Objeto

Referência

Tipo de dados Object

Operador Is (Visual Basic)

Operador IsNot