为什么Equals()和==被设计为不同?
这个问题不是关于==
和Equals
之间的区别。 这是关于他们为什么设计不同的原因。
我们知道这些差异会导致很多问题,而这些问题一定很容易发现:
Equals
和==
会为同一个实体的两个实例产生不同的结果。 ==
在比较子类时产生不同的结果,因为==
不是多态的 简单的答案是C#语言设计团队和.NET框架设计团队无法就如何更好地比较值/对象的平等性达成一致,所以每个人都实现了他们自己的系统。
如需更多技术性的详细解答,请参阅Eric Lippert撰写的关于此主题的博客文章。
链接地址: http://www.djcxy.com/p/26483.html