使用带引用类型的Object.Equals(Object)

时间:2014-06-26 07:52:45

标签: c# .net

我尝试使用方法Object.Equals(Object)来比较我创建的类的两个不同实例,但我需要的是比较值而不是实例的引用。

关于这个主题的研究我发现我需要使用值类型,比如struct,以便能够使用方法Equals来比较实例的值而不是引用但是我有一个庞大的课程库,所以我害怕从一个班级到另一个班级改变他们的类型,因为我不知道它有什么其他后果......我应该做什么关于whay的建议?

我可以覆盖我的类的Equals方法,以便比较值而不是引用吗?我知道有很多方法可以做到,但是什么是能够提供最佳性能的" 编程校正" ......?

1 个答案:

答案 0 :(得分:3)

是的,您必须覆盖类的Equals方法和==运算符,并编写比较逻辑。

更多阅读
Guidelines for Overloading Equals() and Operator == (C# Programming Guide)