我希望我的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