Static members of System.Object: object.ReferenceEquals : System.Object « Class « C# / CSharp Tutorial






using System;
using System.Text;

class Person
{
    public Person(string fname, string lname, string ssn, byte a)
    {
    FirstName = fname;
    LastName = lname;
    SSN = ssn;
    age = a;
    }

  public string FirstName;
  public string LastName;
  public string SSN;
  public byte age;

  public override bool Equals(object o)
  {
    Person temp = (Person)o;
    if(temp.FirstName == this.FirstName &&
       temp.LastName == this.LastName &&
       temp.SSN == this.SSN &&
       temp.age == this.age)
    {
      return true;
    }
    else
      return false;
  }

  public override string ToString()
  {
    StringBuilder sb = new StringBuilder();
          sb.AppendFormat("[FirstName= {0}", this.FirstName);
          sb.AppendFormat(" LastName= {0}", this.LastName);
          sb.AppendFormat(" SSN= {0}", this.SSN);
          sb.AppendFormat(" Age= {0}]", this.age);

    return sb.ToString();
  }

  public override int GetHashCode()
  {
    return SSN.GetHashCode();
  }
}


class MainClass
{
    public static void Main(string[] args)
    {
    Person p1 = new Person("A", "B", "222-22-2222", 98);
    Person p2 = new Person("A", "B", "222-22-2222", 98);

        Console.WriteLine("P1 and P2 are pointing to same object: {0}", object.ReferenceEquals(p1, p2));
    }
}
P1 and P2 are pointing to same object: False








7.47.System.Object
7.47.1.Methods of the object Class
7.47.2.Using Methods inherited from the System.Object class: ToString, GetType, GetHashCode, Equals, ReferenceEquals
7.47.3.Static members of System.Object: object.Equals
7.47.4.Static members of System.Object: object.ReferenceEquals
7.47.5.Call object.Equals to compare objects
7.47.6.Use the inherited Object methods: Equals