Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No Visual Basic, duas referências de variáveis são consideradas idênticas se seus ponteiros forem iguais, ou seja, se ambas as variáveis apontarem para a mesma instância de classe na memória. Por exemplo, em um aplicativo do Windows Forms, talvez você queira fazer uma comparação para determinar se a instância atual (Me
) é a mesma que uma instância específica, como Form2
.
O Visual Basic fornece dois operadores para comparar ponteiros. O Operador Is retornará True
se os objetos forem idênticos e o Operador IsNot retornará True
se não forem.
Determinando se dois objetos são idênticos
Para determinar se dois objetos são idênticos
Configure uma
Boolean
expressão para testar os dois objetos.Na expressão de teste, use o
Is
operador com os dois objetos como operandos.Is
retornaráTrue
se os objetos apontarem para a mesma instância de classe.
Determinando se dois objetos não são idênticos
Às vezes, você deseja executar uma ação se os dois objetos não forem idênticos e pode ser estranho combinar Not
e Is
, por exemplo If Not obj1 Is obj2
. Nesse caso, você pode usar o IsNot
operador.
Para determinar se dois objetos não são idênticos
Configure uma
Boolean
expressão para testar os dois objetos.Na expressão de teste, use o
IsNot
operador com os dois objetos como operandos.IsNot
retornaráTrue
se os objetos não apontarem para a mesma instância de classe.
Exemplo
O exemplo a seguir testa pares de Object
variáveis para ver se elas apontam para a mesma instância de classe.
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))
O exemplo anterior exibe a saída a seguir.
objA different from objB? True
objA identical to objC? True