Heim > Backend-Entwicklung > C++ > C# String -Vergleich: Wann sollte ich `==` vs. `equals ()` verwenden?

C# String -Vergleich: Wann sollte ich `==` vs. `equals ()` verwenden?

Mary-Kate Olsen
Freigeben: 2025-02-01 19:16:13
Original
713 Leute haben es durchsucht

C# String Comparison: When Should I Use `==` vs. `Equals()`?

c# Zeichenkette gleiche sexuelle Probleme:

und vergleiche == Equals() c# bietet zwei Vergleichsstring -Operatoren:

und

. Obwohl sie in der Lage zu sein scheinen, tauschen zu können, zeigen sie einzigartige Verhaltensweisen und können zu unerwarteten Ergebnissen führen. Erforschen wir dieses Sprachproblem in einer bestimmten Szene. == Equals() In einer Silverlight -Anwendung vergleicht eine Bedingung zwei String:

seltsamerweise
if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack"))
{
    // 执行代码
}

if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack")
{
    // 执行代码
}
Nach dem Login kopieren
Vergleiche false und

Rufen Sie True zurück. Warum gibt es so einen Unterschied? == Equals() Die Antwort liegt in der zugrunde liegenden Implementierung dieser Betreiber. Bei Verwendung mit einem Objektexpression wird

als

bewertet. Diese Methode vergleicht die Objektreferenz, nicht die == Inhalt System.Object.ReferenceEquals. In diesem Fall werden die beiden Zeichenfolge in verschiedenen Speicherpositionen gespeichert, also kehren zu False zurück. ReferenceEquals hingegen ist eine virtuelle Methode, die durch abgeleiteten Typ umgeschrieben werden kann. Für String -Typen schreibt die Version des tatsächlichen

content

um, wodurch true zurückgegeben wird. Equals Für den Vergleich der String -Zeichenfolge wird daher empfohlen, intuitiver zu verwenden, und es wird der inhaltsbasierte Vergleich durchführen.

Das obige ist der detaillierte Inhalt vonC# String -Vergleich: Wann sollte ich `==` vs. `equals ()` verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage