Skip to main content

Equals vs ==

  • Equals vs ==

  • O operador == compara a identidade de referência (mesmo tipo) do objeto são as mesmas;

  • O método Equals() compara se o conteúdo são os mesmos;

    • String sempre agem como comparação de conteúdo.

Equals

O método Equals determina se o objeto especificado é igual a ao objeto atual.

  • Se a instância atual é um tipo de referência, o método Equals(Object) testa a igualdade de referência e uma chamada para o método é equivalente a uma chamada para o método ReferenceEquals;
  • Se a instância atual é um tipo de valor, o método Equals(Object) testa a igualdade de valor;

==

  • Para tipos de valor predefinidos, o operador de igualdade (==) retornará true se os valores dos seus operandos forem iguais; caso contrário, false.
  • Para tipos de referência diferentes de string, o == retornará true se seus dois operandos se referirem ao mesmo objeto. Para o tipo string, o operador == compara os valores das cadeias de caracteres.