Como testar se dois objetos são iguais (Visual Basic)

Se você tiver duas variáveis que se referem a objetos, você poderá usar o operador Is ou IsNot, ou ambos para determinar se elas se referem à mesma instância.

Para testar se dois objetos são iguais

  • Use Operador Is ou Operador IsNot com as duas variáveis como operandos.

    Public Sub processControl(ByVal f As System.Windows.Forms.Form, 
        ByVal c As System.Windows.Forms.Control)
        Dim active As System.Windows.Forms.Control = f.ActiveControl
        If (active IsNot Nothing) And (c Is active) Then
            ' Insert code to process control c
        End If
        Return
    End Sub
    

Talvez você queira tomar uma determinada ação dependendo se dois objetos se referem à mesma instância. O exemplo anterior compara o controle c com o controle ativo no formulário f. Se não houver nenhum controle ativo ou se houver um, mas se ele não for a mesma instância de controle que c, etnão a instrução If falhará e o procedimento retornará sem processamento adicional.

Usar Is ou IsNot é uma questão de conveniência pessoal para você. Um pode ser mais fácil de ler do que o outro em uma determinada expressão.

Confira também