数据结构与算法(C#实现)系列---树(三)

数据结构与算法(C#实现)系列---树(三)

Heavenkiller(原创)

//overwrite Object.Equals() --- reference type realization

public override bool Equals(object _obj)

{

if( _obj==null )

return false;//因为this不可能为null

if( ! (this.GetType()==_obj.GetType()) )

return false;//类型不相等也不相等

Tree tmpObj=(Tree)_obj;

//比较引用成员

if( !Object.Equals(this.Key,tmpObj.Key) )

return false;

//比较值类型成员

if( !this.Degree.Equals(tmpObj.Degree) )

return false;

//if( !this.Height.Equals(tmpObj.Height) )

//return false;

return true;

}

//在此重载 ==,!= 后, 在以后继承的类中不必实现了

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 成员

public virtual int CompareTo(object obj)

{

// TODO: 添加 Tree.CompareTo 实现

return 0;

}

#endregion

}

}

转自: www.sinory.com

Published At
Categories with Web编程
Tagged with
comments powered by Disqus