Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Visual Basic, dos referencias de variable se consideran idénticas si sus punteros son iguales, es decir, si ambas variables apuntan a la misma instancia de clase en 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 la misma que una instancia determinada, como Form2
.
Visual Basic proporciona dos operadores para comparar punteros.
El operador Is devuelve True
si los objetos son idénticos y el operador IsNot devuelve True
si no lo son.
Determinar si dos objetos son idénticos
Para determinar si dos objetos son idénticos
Configure una
Boolean
expresión para probar los dos objetos.En la expresión de prueba, use el
Is
operador con los dos objetos como operandos.Is
devuelveTrue
si los objetos apuntan a la misma instancia de clase.
Determinar si dos objetos no son idénticos
A veces quiere realizar una acción si los dos objetos no son idénticos y puede resultar incómodo combinar Not
y Is
, por ejemplo If Not obj1 Is obj2
. En tal caso, puede usar el IsNot
operador .
Para determinar si dos objetos no son idénticos
Configure una
Boolean
expresión para probar los dos objetos.En la expresión de prueba, use el
IsNot
operador con los dos objetos como operandos.IsNot
devuelveTrue
si los objetos no apuntan a la misma instancia de clase.
Ejemplo
En el ejemplo siguiente se prueban pares de Object
variables para ver si apuntan 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))
En el ejemplo anterior se muestra la salida siguiente.
objA different from objB? True
objA identical to objC? True