閱讀英文

共用方式為


編譯器警告 (層級 3) CS0659

'class' 覆寫了 Object.Equals(object o),但並沒有覆寫 Object.GetHashCode()

編譯器偵測到 Object.Equals 方法的覆寫,但並未偵測到 Object.GetHashCode 方法的覆寫。 Equals 的覆寫表示您也需要覆寫 GetHashCode

下列程式碼會產生 CS0659:

C#
// CS0659.cs  
// compile with: /W:3 /target:library  
class Test
{  
   public override bool Equals(object o) { return true; }   // CS0659  
}  
  
// OK  
class Test2  
{  
   public override bool Equals(object o) { return true; }  
   public override int GetHashCode() { return 0; }  
}  

另請參閱