为什么Equals()和==被设计为不同?

这个问题不是关于==Equals之间的区别。 这是关于他们为什么设计不同的原因。

我们知道这些差异会导致很多问题,而这些问题一定很容易发现:

  • Equals==会为同一个实体的两个实例产生不同的结果。
  • ==在比较子类时产生不同的结果,因为==不是多态的

  • 简单的答案是C#语言设计团队和.NET框架设计团队无法就如何更好地比较值/对象的平等性达成一致,所以每个人都实现了他们自己的系统。

    如需更多技术性的详细解答,请参阅Eric Lippert撰写的关于此主题的博客文章。

    链接地址: http://www.djcxy.com/p/26483.html

    上一篇: Why was Equals() and == designed to be different?

    下一篇: "No such module 'Alamofire'" won't recognize framework