Cómo: Determinar si dos objetos son idénticos

Actualización: noviembre 2007

Visual Basic considera que dos objetos son idénticos si sus punteros son los mismos, es decir, si ambas variables señalan a la misma instancia de clase en la memoria. Es posible que desee realizar esta comparación, por ejemplo, para determinar si la instancia actual (Me) es igual que una instancia determinada como Form2.

Visual Basic proporciona dos operadores para comparar los punteros. Is (Operador, Visual Basic) devuelve True si los objetos son idénticos e IsNot (Operador) devuelve True si no lo son.

Determinar si dos objetos son idénticos

Para determinar si dos objetos son idénticos

  1. Prepare una expresión Boolean para probar los dos objetos.

  2. En la expresión de prueba, utilice el operador Is con los dos objetos como operandos.

    Is devuelve True si los objetos señalan a la misma instancia de clase.

Determinar si dos objetos no son idénticos

A veces, desea realizar una acción cuando los dos objetos no son idénticos y puede ser complicado combinar Not e Is, por ejemplo If Not obj1 Is obj2. En estos casos puede utilizar el operador IsNot.

Para determinar si dos objetos no son idénticos

  1. Prepare una expresión Boolean para probar los dos objetos.

  2. En la expresión de prueba, utilice el operador IsNot con los dos objetos como operandos.

    IsNot devuelve True si los objetos no señalan a la misma instancia de clase.

Ejemplo

El ejemplo siguiente prueba pares de variables Object para ver si señalan a la misma instancia de clase.

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

El ejemplo anterior muestra el siguiente resultado.

objA different from objB? True

objA identical to objC? True

Vea también

Tareas

Cómo: Determinar si dos objetos están relacionados

Conceptos

Variables de objeto en Visual Basic

Valores de las variables de objeto

Referencia

Object (Tipo de datos)

Is (Operador, Visual Basic)

IsNot (Operador)