Asp.NET Tutorials
Home > 算法与线程 > 数据结构与算法(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
  
  
Add by : Huobazi (2005-5-03:12:49)