百科问答小站 logo
百科问答小站 font logo



C#为何属性和取值相同的dynamic对象的GetHashCode()相同,直接比较两者却又不同?? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

1、默认情况下,也就是不存在对==运算符的重载的情况下,==等价于Object.ReferenceEuqals。

2、即使两个对象的HashCode相同,这两个对象也可能是完全不同的对象。也就是说,

       a.GetHashCode() == b.GetHashCode && Object.Equals( a, b ) == false     

这个表达式也是有可能为真的,这是完全合理合法的。

综上所述,你的基础概念有问题,请回去把CLR via C#全文背诵。




  

相关话题

  【C#】this 关键字限定本地类型的成员? 
  如果C#开放了值类型的继承,会有什么问题发生? 
  除了 3,4,5 以外是否还有别的三角形,它的三条边是连续自然数,它的面积也是自然数? 
  常微分方程的有没有什么学习经验? 
  数学系本科生如何学好实变函数与泛函分析? 
  经历20年的科研发现一个怪现象:创新性越强的文章越难发表,而跟风之作和修修补补的文章容易发,你觉得呢? 
  宁波大学的陈计教授是一个什么样的人? 
  如何用最简单的语言统一描述多元函数求导(对向量求导、对矩阵求导等)? 
  莫比乌斯环的意义是什么? 
  各个学科内都有哪些「很美」的公式或者结论?它们是大自然的鬼斧神工还是人类的匠心独造? 

前一个讨论
中国的景点门票定价合理吗?是如何定价的?
下一个讨论
同时掷三枚硬币,落地后出现三阳、三阴、两阳一阴、两阴一阳的概率相同吗?





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利