Qu'est-ce que l'identité de référence en c #? [dupliquer]

Dec 08 2020

Je recherche la différence entre l'opérateur (==) et la méthode Equals (). De nombreuses ressources indiquent que l'opérateur (==) compare l'identité de référence. Qu'est-ce que l'identité de référence?

Réponses

OlivierRogier Dec 08 2020 at 21:48

En plus des doublons, je poste cette réponse car la question est plus spécialisée de ce que j'ai trouvé.

En termes simples: l'identité de référence est l'égalité des adresses mémoire, car deux variables pointent vers le même contenu ou non, comme une adresse postale ou un verre d'eau. Parce que les références sont des pointeurs cachés pour oublier de les gérer.

GC est aussi une couche au dessus pour faciliter la gestion des instances d'objets en mémoire et oublier de détruire / libérer ceux que nous n'utilisons plus.

L'opérateur ==peut être surchargé pour comparer des valeurs au lieu de références, il existe donc des méthodes object Equals()et ReferenceEquals().

Voici quelques tutoriels:

C # - Types de données

C # - Variables

Type de valeur et type de référence

Comment obtenir le nombre de références d'un objet CLR?