System.Object类是全部类的基类,System.Object类提供了很多有用的方法,如ToString,Equals(object),MemberwiseClone() --创建拷贝:
/* Example7_6.cs illustrates some of the System.Object class methods */ using System; // declare the Car class public class Car { // declare the fields public string make; public string model; // define a constructor public Car(string make, string model) { this.make = make; this.model = model; } // define the Display() method public void Display() { Console.WriteLine("make = " + make); Console.WriteLine("model = " + model); } // define the Copy() method public static Car Copy(Car car) { // perform memberwise clone return (Car)car.MemberwiseClone(); } } class Example7_6 { public static void Main() { // create Car objects Console.WriteLine("Creating Car objects"); Car myCar = new Car("Toyota", "MR2"); Car myOtherCar = new Car("Porsche", "Boxter"); Console.WriteLine("myCar details:"); myCar.Display(); Console.WriteLine("myOtherCar details:"); myOtherCar.Display(); // call some of the methods inherited from the System.Object class Console.WriteLine("myCar.ToString() = " + myCar.ToString()); Console.WriteLine("myCar.GetType() = " + myCar.GetType()); Console.WriteLine("myCar.GetHashCode() = " + myCar.GetHashCode()); Console.WriteLine("Car.Equals(myCar, myOtherCar) = " + Car.Equals(myCar, myOtherCar)); Console.WriteLine("Car.ReferenceEquals(myCar, myOtherCar) = " + Car.ReferenceEquals(myCar, myOtherCar)); // set the myCar object reference equal to myOtherCar Console.WriteLine("Setting myCar equal to myOtherCar"); myCar = myOtherCar; // check for equality Console.WriteLine("Car.Equals(myCar, myOtherCar) = " + Car.Equals(myCar, myOtherCar)); Console.WriteLine("Car.ReferenceEquals(myCar, myOtherCar) = " + Car.ReferenceEquals(myCar, myOtherCar)); // perform a memberwise clone of myCar using the Car.Copy() method Console.WriteLine("Performing a memberwise clone of myCar to myOldCar"); Car myOldCar = Car.Copy(myCar); Console.WriteLine("myOldCar details:"); myOldCar.Display(); string i = System.Console.ReadLine(); } }