|
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
|
Übersetzung
Original
|
Object-Klasse
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Der Object-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
![]() ![]() ![]() ![]() | Equals(Object) | |
![]() ![]() ![]() ![]() ![]() | Equals(Object, Object) | |
![]() ![]() ![]() ![]() | Finalize | |
![]() ![]() ![]() ![]() | GetHashCode | |
![]() ![]() ![]() ![]() | GetType | |
![]() ![]() ![]() ![]() | MemberwiseClone | |
![]() ![]() ![]() ![]() ![]() | ReferenceEquals | |
![]() ![]() ![]() ![]() | ToString |
Equals – Unterstützt Vergleiche zwischen Objekten. Finalize – Führt vor der automatischen Freigabe eines Objekts Bereinigungsaktionen durch. GetHashCode – Generiert zur Unterstützung einer Hashtabelle eine Zahl, die dem Wert des Objekts entspricht. ToString – Stellt eine lesbare Zeichenfolge her, die eine Instanz der Klasse beschreibt.
Überlegungen zur Leistung
Erstellen Sie eine häufige Methode, die einen Object-Typ akzeptiert, und einen Satz typspezifischer Methodenüberladungen, die jeden Werttyp akzeptieren, den Sie die Klasse, erwarten, um häufig zu behandeln. Wenn eine typabhängige Methode vorhanden ist, die den aufrufenden Parametertyp akzeptiert, entfällt das Boxing, und die typabhängige Methode wird aufgerufen. Wenn es in der Methode kein Argument gibt, das mit dem aufrufenden Parametertyp übereinstimmt, wird der Parameter geschachtelt, und die allgemeine Methode wird aufgerufen. Entwerfen Sie den Typ und seine Member, um Generika zu verwenden. Wenn Sie eine Instanz der Klasse erstellen und ein Argument von generischem Typ angeben, erstellt die Common Language Runtime einen geschlossenen generischen Typ. Die generische Methode ist typabhängig und kann aufgerufen werden, ohne den aufrufenden Parameter mittels Boxing zu verpacken.
using System; // The Point class is derived from System.Object. class Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } public override bool Equals(object obj) { // If this and obj do not refer to the same type, then they are not equal. if (obj.GetType() != this.GetType()) return false; // Return true if x and y fields match. Point other = (Point) obj; return (this.x == other.x) && (this.y == other.y); } // Return the XOR of the x and y fields. public override int GetHashCode() { return x ^ y; } // Return the point's value as a string. public override String ToString() { return String.Format("({0}, {1})", x, y); } // Return a copy of this point object by making a simple field copy. public Point Copy() { return (Point) this.MemberwiseClone(); } } public sealed class App { static void Main() { // Construct a Point object. Point p1 = new Point(1,2); // Make another Point object that is a copy of the first. Point p2 = p1.Copy(); // Make another variable that references the first Point object. Point p3 = p1; // The line below displays false because p1 and p2 refer to two different objects. Console.WriteLine(Object.ReferenceEquals(p1, p2)); // The line below displays true because p1 and p2 refer to two different objects that have the same value. Console.WriteLine(Object.Equals(p1, p2)); // The line below displays true because p1 and p3 refer to one object. Console.WriteLine(Object.ReferenceEquals(p1, p3)); // The line below displays: p1's value is: (1, 2) Console.WriteLine("p1's value is: {0}", p1.ToString()); } } // This code example produces the following output: // // False // True // True // p1's value is: (1, 2) //
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.


