数据结构与算法(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
} }
|
温馨提示:喜欢本站的话,请收藏一下本站!