我希望我的Food
類能夠測試何時它等於另一個實例Food
。稍後我將使用它來對付List,並且我想使用它的List.Contains()
方法。我應該執行IEquatable<Food>
還是隻覆蓋Object.Equals()
?從MSDN:IEquatable和剛剛重寫Object.Equals()之間有什麼區別?
此方法,使用默認的相等比較, 如由對象的 實現對於T (值的列表中的類型)的 IEquatable.Equals方法的定義由 確定平等。
所以我的下一個問題是:.NET框架的哪些函數/類使用Object.Equals()
?我應該首先使用它嗎?
這裏很好的解釋http://blogs.msdn.com/b/jaredpar/archive/2009/01/15/if-you-implement-iequatable-t-you-still-must-override-object- s-equals-and-gethashcode.aspx – nawfal 2013-04-14 12:13:49
@nawfal:在接受的答案中已經提到過。 – 2013-04-14 16:50:12
[Understanding IEquatable](http://stackoverflow.com/questions/411500/understanding-iequatable)可能的重複 – nawfal 2013-10-08 05:19:23