天天看點

使用System.Object類

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();
    }

}
      

繼續閱讀