Data | structure | algorithm
Data structure and algorithm (C # Implementation) Series---tree (iii)
Heavenkiller (original)
Overwrite Object.Equals ()---reference type realization
public override bool Equals (object _obj)
{
if (_obj==null)
Return false;//because this cannot be null
if (! (This. GetType () ==_obj. GetType ()))
Return false;//types are not equal or equal
Tree tmpobj= (_obj);
Comparing reference members
if (! Object.Equals (this. Key,tmpobj.key))
return false;
Comparing value type members
if (!this. Degree.equals (Tmpobj.degree))
return false;
if (!this. Height.equals (Tmpobj.height))
return false;
return true;
}
After this overload is ==,!=, you do not have to implement in a class that inherits later
public static bool operator== (tree _treea,tree _treeb)
{
return Object.Equals (_treea,_treeb);
}
public static bool Operator!= (tree _treea,tree _treeb)
{
Return! (_treea==_treeb);
}
#region IComparable Members
public virtual int CompareTo (object obj)
{
TODO: Add Tree.compareto implementation
return 0;
}
#endregion
}
}