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
Prepare una expresión Boolean para probar los dos objetos.
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
Prepare una expresión Boolean para probar los dos objetos.
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