O que é identidade de referência em c #? [duplicado]

Dec 08 2020

Estou procurando a diferença entre o operador (==) e o método Equals (). Muitos recursos dizem que o operador (==) compara a identidade de referência. O que é realmente a identidade de referência?

Respostas

OlivierRogier Dec 08 2020 at 21:48

Além das duplicatas, posto esta resposta porque a pergunta é mais especializada do que encontrei.

Em palavras simples: a identidade de referência é a igualdade do endereço de memória, já que duas variáveis ​​apontam para o mesmo conteúdo ou não, como um endereço postal ou um copo d'água. Porque as referências são ponteiros ocultos para esquecer de gerenciá-los.

GC também é uma camada acima para facilitar o gerenciamento de instâncias de objetos na memória e esquecer de destruir / liberar aqueles que não usamos mais.

O operador ==pode ser sobrecarregado para comparar valores em vez de referências, portanto, existem métodos on object Equals()e ReferenceEquals().

Aqui estão alguns tutoriais:

C # - Tipos de dados

C # - Variáveis

Tipo de valor e tipo de referência

Como obtenho a contagem de referência de um objeto CLR?