Cómo: Determinar si dos objetos son idénticos (Visual Basic)
En Visual Basic, dos referencias de variable se consideran idénticas si sus punteros son los mismos, es decir, si ambas variables señalan la misma instancia de clase en la memoria. Por ejemplo, en una aplicación de Windows Forms, es posible que desee realizar una comparación 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) (Visual Basic) 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 = 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))
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 (Visual Basic)
Referencia
IsNot (Operador) (Visual Basic)
Conceptos
Variables de objeto en Visual Basic