Object.Equals return false
问题 Object.Equals always return false, Why not equal? Student student = new Student(3, "Jack Poly"); Student otherStudent = (Student)student.Clone(); if (Object.Equals(student, otherStudent)) { Console.WriteLine("Equal"); } else { Console.WriteLine("Not Equal"); } Clone method like below public override StudentPrototype Clone() { return this.MemberwiseClone() as StudentPrototype; } 回答1: Look at this article MSDN If the current instance is a reference type, the Equals(Object) method tests for