(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ValueType.Equals-Methode

Gibt an, ob diese Instanz und ein angegebenes Objekt gleich sind.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public override bool Equals(
	Object obj
)

Parameter

obj
Typ: System.Object
Das Objekt, das mit der aktuellen Instanz verglichen werden soll.

Rückgabewert

Typ: System.Boolean
true , wenn obj und diese Instanz denselben Typ aufweisen und denselben Wert darstellen, andernfalls false.

Die ValueType.Equals(Object)-Methode überschreibt Object.Equals(Object) und stellt die Standardimplementierung der Wertgleichheit für alle Werttypen in .NET Framework.

Wenn keine der Felder der aktuellen Instanz und obj Verweistypen sind, führt die Equals-Methode ein Vergleich auf Byteebene der beiden Objekte im Arbeitsspeicher aus. Andernfalls verwendet sie Reflektion, um die entsprechenden Felder von obj und von dieser Instanz vergleichen.

TippTipp

Besonders wenn der Werttyp Felder enthält, die Verweistypen sind, sollten Sie die Equals(Object)-Methode überschreiben. Dies kann die Leistung verbessern und Sie zu aktivieren stellen Sie genauer die Bedeutung der Gleichheit für den Typ dar.

Hinweise für Windows-Runtime

Wenn Sie die Equals-Methode auf einer Windows-Runtime-Struktur aufrufen, wird das Standardverhalten für Werttypen, die Equals nicht überschreiben. Dies ist Teil der Unterstützung, die .NET Framework für Windows-Runtime bietet (siehe .NET Framework-Unterstützung für Windows Store-Apps und Windows-Runtime). Windows-Runtime können Strukturen Equals nicht überschreiben, auch wenn sie mit C# oder Visual Basic geschrieben werden, da sie Methoden aufweisen können. (Darüber hinaus, erben Strukturen in Windows-Runtime selbst nicht ValueType.) Allerdings werden diese, ToString, Equals und GetHashCode-Methoden haben, wenn Sie sie im C#- oder Visual Basic verwenden, und .NET Framework stellt das Standardverhalten für diese Methoden.

Im folgenden Beispiel wird veranschaulicht, wie die Equals-Methode mit einem abgeleiteten Werttyp überschrieben werden kann.


	public struct Complex 
	{
		public double m_Re;
		public double m_Im;

		public override bool Equals( object ob ){
			if( ob is Complex ) {
				Complex c = (Complex) ob;
				return m_Re==c.m_Re && m_Im==c.m_Im;
			}
			else {
				return false;
			}
		}

		public override int GetHashCode(){
			return m_Re.GetHashCode() ^ m_Im.GetHashCode();
		}
	}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft