<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FClass%2FSystem.Object</id>
		<title>Csharp/CSharp Tutorial/Class/System.Object - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FClass%2FSystem.Object"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/System.Object&amp;action=history"/>
		<updated>2026-04-30T23:36:10Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/System.Object&amp;diff=5675&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/System.Object&amp;diff=5675&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/System.Object&amp;diff=5676&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Class/System.Object&amp;diff=5676&amp;oldid=prev"/>
				<updated>2010-05-26T12:16:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Call object.Equals to compare objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;public class MainClass&lt;br /&gt;
{&lt;br /&gt;
   static bool TestForEquality( object obj1, object obj2 )&lt;br /&gt;
   {&lt;br /&gt;
      if( obj1 == null )&lt;br /&gt;
      {&lt;br /&gt;
         return false;&lt;br /&gt;
      }&lt;br /&gt;
      return obj1.Equals( obj2 );&lt;br /&gt;
   }&lt;br /&gt;
   static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      object obj1 = new System.Object();&lt;br /&gt;
      object obj2 = null;&lt;br /&gt;
      System.Console.WriteLine( &amp;quot;obj1 == obj2 is {0}&amp;quot;, TestForEquality(obj2, obj1) );&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;obj1 == obj2 is False&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Methods of the object Class ==&lt;br /&gt;
&lt;br /&gt;
Method&lt;br /&gt;
Purpose&lt;br /&gt;
public virtual bool Equals(object ob)&lt;br /&gt;
whether the object is the same as the one referred to by ob.&lt;br /&gt;
public static bool Equals(object ob1, object ob2)&lt;br /&gt;
whether ob1 is the same as ob2.&lt;br /&gt;
protected Finalize()&lt;br /&gt;
Performs shutdown actions prior to garbage collection.&lt;br /&gt;
public virtual int GetHashCode()&lt;br /&gt;
Returns the hash code.&lt;br /&gt;
public Type GetType()&lt;br /&gt;
Return the type of an object.&lt;br /&gt;
protected object MemberwiseClone()&lt;br /&gt;
Makes a &amp;quot;shallow copy&amp;quot; of the object. (The members are copied, but objects referred to by members are not.)&lt;br /&gt;
public static bool ReferenceEquals(object ob1, object ob2)&lt;br /&gt;
whether ob1 and ob2 refer to the same object.&lt;br /&gt;
public virtual string ToString()&lt;br /&gt;
Returns a string that describes the object. It is automatically called when an object is output using WriteLine().&lt;br /&gt;
&lt;br /&gt;
==Static members of System.Object: object.Equals==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Text;&lt;br /&gt;
class Person&lt;br /&gt;
{&lt;br /&gt;
    public Person(string fname, string lname, string ssn, byte a)&lt;br /&gt;
    {&lt;br /&gt;
    FirstName = fname;&lt;br /&gt;
    LastName = lname;&lt;br /&gt;
    SSN = ssn;&lt;br /&gt;
    age = a;&lt;br /&gt;
    }&lt;br /&gt;
  public string FirstName;&lt;br /&gt;
  public string LastName;&lt;br /&gt;
  public string SSN;&lt;br /&gt;
  public byte age;&lt;br /&gt;
  public override bool Equals(object o)&lt;br /&gt;
  {&lt;br /&gt;
    Person temp = (Person)o;&lt;br /&gt;
    if(temp.FirstName == this.FirstName &amp;amp;&amp;amp;&lt;br /&gt;
       temp.LastName == this.LastName &amp;amp;&amp;amp;&lt;br /&gt;
       temp.SSN == this.SSN &amp;amp;&amp;amp;&lt;br /&gt;
       temp.age == this.age)&lt;br /&gt;
    {&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
      return false;&lt;br /&gt;
  }&lt;br /&gt;
  public override string ToString()&lt;br /&gt;
  {&lt;br /&gt;
    StringBuilder sb = new StringBuilder();&lt;br /&gt;
          sb.AppendFormat(&amp;quot;[FirstName= {0}&amp;quot;, this.FirstName);&lt;br /&gt;
          sb.AppendFormat(&amp;quot; LastName= {0}&amp;quot;, this.LastName);&lt;br /&gt;
          sb.AppendFormat(&amp;quot; SSN= {0}&amp;quot;, this.SSN);&lt;br /&gt;
          sb.AppendFormat(&amp;quot; Age= {0}]&amp;quot;, this.age);&lt;br /&gt;
    return sb.ToString();&lt;br /&gt;
  }&lt;br /&gt;
  public override int GetHashCode()&lt;br /&gt;
  {&lt;br /&gt;
    return SSN.GetHashCode();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
    Person p1 = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;222-22-2222&amp;quot;, 98);&lt;br /&gt;
    Person p2 = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;222-22-2222&amp;quot;, 98);&lt;br /&gt;
        Console.WriteLine(&amp;quot;P3 and P4 have same state: {0}&amp;quot;, object.Equals(p1, p2));&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;P3 and P4 have same state: True&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Static members of System.Object: object.ReferenceEquals==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Text;&lt;br /&gt;
class Person&lt;br /&gt;
{&lt;br /&gt;
    public Person(string fname, string lname, string ssn, byte a)&lt;br /&gt;
    {&lt;br /&gt;
    FirstName = fname;&lt;br /&gt;
    LastName = lname;&lt;br /&gt;
    SSN = ssn;&lt;br /&gt;
    age = a;&lt;br /&gt;
    }&lt;br /&gt;
  public string FirstName;&lt;br /&gt;
  public string LastName;&lt;br /&gt;
  public string SSN;&lt;br /&gt;
  public byte age;&lt;br /&gt;
  public override bool Equals(object o)&lt;br /&gt;
  {&lt;br /&gt;
    Person temp = (Person)o;&lt;br /&gt;
    if(temp.FirstName == this.FirstName &amp;amp;&amp;amp;&lt;br /&gt;
       temp.LastName == this.LastName &amp;amp;&amp;amp;&lt;br /&gt;
       temp.SSN == this.SSN &amp;amp;&amp;amp;&lt;br /&gt;
       temp.age == this.age)&lt;br /&gt;
    {&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
      return false;&lt;br /&gt;
  }&lt;br /&gt;
  public override string ToString()&lt;br /&gt;
  {&lt;br /&gt;
    StringBuilder sb = new StringBuilder();&lt;br /&gt;
          sb.AppendFormat(&amp;quot;[FirstName= {0}&amp;quot;, this.FirstName);&lt;br /&gt;
          sb.AppendFormat(&amp;quot; LastName= {0}&amp;quot;, this.LastName);&lt;br /&gt;
          sb.AppendFormat(&amp;quot; SSN= {0}&amp;quot;, this.SSN);&lt;br /&gt;
          sb.AppendFormat(&amp;quot; Age= {0}]&amp;quot;, this.age);&lt;br /&gt;
    return sb.ToString();&lt;br /&gt;
  }&lt;br /&gt;
  public override int GetHashCode()&lt;br /&gt;
  {&lt;br /&gt;
    return SSN.GetHashCode();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
    Person p1 = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;222-22-2222&amp;quot;, 98);&lt;br /&gt;
    Person p2 = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;222-22-2222&amp;quot;, 98);&lt;br /&gt;
        Console.WriteLine(&amp;quot;P1 and P2 are pointing to same object: {0}&amp;quot;, object.ReferenceEquals(p1, p2));&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;P1 and P2 are pointing to same object: False&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use the inherited Object methods: Equals==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
    MainClass c1 = new MainClass();&lt;br /&gt;
    MainClass c2 = c1;&lt;br /&gt;
    object o = c2;&lt;br /&gt;
    &lt;br /&gt;
    if(o.Equals(c1) &amp;amp;&amp;amp; c2.Equals(o))&lt;br /&gt;
      Console.WriteLine(&amp;quot;Same instance!\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Same instance!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using Methods inherited from the System.Object class: ToString, GetType, GetHashCode, Equals, ReferenceEquals==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
public class Employee&lt;br /&gt;
{&lt;br /&gt;
  public string firstName;&lt;br /&gt;
  public string lastName;&lt;br /&gt;
  public Employee(string firstName, string lastName)&lt;br /&gt;
  {&lt;br /&gt;
    this.firstName = firstName;&lt;br /&gt;
    this.lastName = lastName;&lt;br /&gt;
  }&lt;br /&gt;
  public void Display()&lt;br /&gt;
  {&lt;br /&gt;
    Console.WriteLine(&amp;quot;firstName = &amp;quot; + firstName);&lt;br /&gt;
    Console.WriteLine(&amp;quot;lastName = &amp;quot; + lastName);&lt;br /&gt;
  }&lt;br /&gt;
  public static Employee Copy(Employee Employee)&lt;br /&gt;
  {&lt;br /&gt;
    return (Employee) Employee.MemberwiseClone();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    Console.WriteLine(&amp;quot;Creating Employee objects&amp;quot;);&lt;br /&gt;
    Employee myEmployee = new Employee(&amp;quot;A&amp;quot;, &amp;quot;M&amp;quot;);&lt;br /&gt;
    Employee myOtherEmployee = new Employee(&amp;quot;B&amp;quot;, &amp;quot;N&amp;quot;);&lt;br /&gt;
    Console.WriteLine(&amp;quot;myEmployee details:&amp;quot;);&lt;br /&gt;
    myEmployee.Display();&lt;br /&gt;
    Console.WriteLine(&amp;quot;myOtherEmployee details:&amp;quot;);&lt;br /&gt;
    myOtherEmployee.Display();&lt;br /&gt;
&lt;br /&gt;
    Console.WriteLine(&amp;quot;myEmployee.ToString() = &amp;quot; + myEmployee.ToString());&lt;br /&gt;
    Console.WriteLine(&amp;quot;myEmployee.GetType() = &amp;quot; + myEmployee.GetType());&lt;br /&gt;
    Console.WriteLine(&amp;quot;myEmployee.GetHashCode() = &amp;quot; + myEmployee.GetHashCode());&lt;br /&gt;
    Console.WriteLine(&amp;quot;Employee.Equals(myEmployee, myOtherEmployee) = &amp;quot; + Employee.Equals(myEmployee, myOtherEmployee));&lt;br /&gt;
    Console.WriteLine(&amp;quot;Employee.ReferenceEquals(myEmployee, myOtherEmployee) = &amp;quot; + Employee.ReferenceEquals(myEmployee, myOtherEmployee));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Creating Employee objects&lt;br /&gt;
myEmployee details:&lt;br /&gt;
firstName = A&lt;br /&gt;
lastName = M&lt;br /&gt;
myOtherEmployee details:&lt;br /&gt;
firstName = B&lt;br /&gt;
lastName = N&lt;br /&gt;
myEmployee.ToString() = Employee&lt;br /&gt;
myEmployee.GetType() = Employee&lt;br /&gt;
myEmployee.GetHashCode() = 58225482&lt;br /&gt;
Employee.Equals(myEmployee, myOtherEmployee) = False&lt;br /&gt;
Employee.ReferenceEquals(myEmployee, myOtherEmployee) = False&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>