In einigen Programmierszenarien können Entwickler bei Verwendung von Methoden mit gleichem Computer (==) und Equals () Unfällen auftreten. Dieser Unterschied ist besonders verwirrend, wenn == false und gleich () zurückgibt, um wahr zurückzugeben, wie das oben gezeigte Beispiel.
== Arbeitsprinzip:
Wenn auf das Objekt angewendet wird, hängt das gleiche Computer (==) von der ReferenceEquals () -Methode ab. In einfachen Worten bestimmt es, ob das Objekt genau gleich ist, nicht nur eine Kopie mit demselben Wert.
Equals () Arbeitsprinzip:
Andererseits ist die Equals () -Methode eine virtuelle Methode, mit der die Klasse die Standardimplementierung umschreiben kann. Standardmäßig wird der Wert von Equals () von System.Object von System.Object abgeleitet. Die Klasse kann dieses Verhalten jedoch umschreiben, um benutzerdefinierte Vergleiche gemäß ihren spezifischen Anforderungen bereitzustellen. Beispiel:
In dem angegebenen Beispiel wird die Inhaltseigenschaft von ListBoxItem mit dem String "Energy Attack" überprüft. Bei Verwendung von == schlägt es fehl, da diese beiden Zeichenfolge nicht am selben Speicherort gespeichert sind. Equals () gibt jedoch true zurück, da die Werte der Zeichenfolge gleich sind.
Die Bedeutung des Verständnisses der Unterschiede:
Der Unterschied zwischen Verständnis == und Equals () ist sehr wichtig, was ein versehentliches Verhalten verhindern und die korrekte Ausführung des Codes sicherstellen kann. Wenn es wahrscheinlicher ist, dass die von Equals () implementierten Objekte umschrieben, ist die Verwendung von Equals () eine sicherere und zuverlässigere Methode, um die korrekte gleiche Überprüfung gemäß der erwarteten Semantik der Klasse zu gewährleisten.
Das obige ist der detaillierte Inhalt vonC# Objekte: Wann sollte ich `==` vs. `equals ()` verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!