Was ist Referenzidentität in c #? [Duplikat]

Dec 08 2020

Ich suche nach Unterschieden zwischen Operator (==) und der Equals () -Methode. Viele Ressourcen sagen, dass der Operator (==) die Referenzidentität vergleicht. Was ist eigentlich Referenzidentität?

Antworten

OlivierRogier Dec 08 2020 at 21:48

Zusätzlich zu Duplikaten poste ich diese Antwort, da die Frage spezieller auf das ist, was ich gefunden habe.

Mit einfachen Worten: Referenzidentität ist die Gleichheit der Speicheradressen, da zwei Variablen auf denselben Inhalt verweisen oder nicht, wie eine Postanschrift oder ein Glas Wasser. Weil Referenzen versteckte Zeiger sind, um zu vergessen, sie zu verwalten.

GC ist auch eine Ebene darüber, um die Verwaltung von Instanzen von Objekten im Speicher zu erleichtern und zu vergessen, diejenigen zu zerstören / freizugeben, die wir nicht mehr verwenden.

Der Operator ==kann überladen werden, um Werte anstelle von Referenzen zu vergleichen. Es gibt also On- object Equals()und ReferenceEquals()Methoden.

Hier sind einige Tutorials:

C # - Datentypen

C # - Variablen

Werttyp und Referenztyp

Wie erhalte ich den Referenzzähler eines CLR-Objekts?