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

C# Gleichheitsvergleiche: Wann sollte ich `==` vs. `equals ()` verwenden?

Linda Hamilton
Freigeben: 2025-02-01 19:01:08
Original
955 Leute haben es durchsucht

C# Equality Comparisons: When Should I Use `==` vs. `Equals()`?

c# Objektvergleich: Verstehen Sie die Differenz zwischen gleichen Operatoren und Equals () -Methoden

In C#ist der gleichwertige Vergleich der wichtigste Teil der Programmierung. Zwei Methoden gleichen häufig verwendeten Objekte sind gleiche Computersymbole (== und! =) Und Equals () -Methoden. Das Verständnis der subtilen Unterschiede dieser beiden Methoden ist jedoch für die Vermeidung von Unfällen von wesentlicher Bedeutung.

Gleiche Computersymbole (== und! =)

gleiches Computer (== und! =) Der Ausführungswerttyp entspricht dem Vergleich. Für Referenztypen (z. B. Zeichenfolge, Objekte usw.) werden sie mit Objektreferenzen verglichen, nicht mit dem tatsächlichen Inhalt des Objekts. Dies bedeutet, dass wenn die beiden Referenzvariablen auf die gleiche Objektinstanz hinweisen, == zurückgibt!

In Ihrem Beispiel vergleichen Sie die beiden String -Objekte:

Da das String -Objekt unveränderlich ist, werden sie standardmäßig als Werttyp angesehen. Daher ist der Vergleich des Operators der Wert der Zeichenfolge, der in diesem Beispiel nicht gleich ist. Daher werden die Bedingungen als falsch bewertet.

<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack")
{
    // 执行代码
}</code>
Nach dem Login kopieren
Equals () Methode

Die Methode

Equals () ist eine virtuelle Methode. Im Gegensatz zu gleichen Operatoren vergleicht die Equals () -Methode den tatsächlichen Inhalt des Objekts unabhängig von ihren Zitaten. Für String vergleicht die Equals () -Methode die Zeichensequenz der Zeichenfolge. Da Ihre Situation das Vergleich der beiden Zeichen -Zeichenfolgenwörter beinhaltet, gibt die Equals () -Methode wahr zurück, da die Zeichensequenz gleich ist.

Zusammenfassung

<code class="language-csharp">if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack"))
{
    // 执行代码
}</code>
Nach dem Login kopieren
Die Auswahl der Verwendung gleicher Operatoren und Equals () -Methoden hängt von bestimmten Szenen und den erforderlichen Verhaltensweisen ab. Im Allgemeinen sollte das Rechensymbol für den gleichen Vergleich verwendet werden, und die Methode Equals () sollte verwendet werden, um den gleichen Vergleich zu referenzieren.

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

Quelle:php.cn
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