百科问答小站 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#全文背诵。




  

相关话题

  为什么俄罗斯的文学、数学、音乐都那么强,诞生了好多大牛? 
  2+2为什么等于4而不是22,加号的本质是什么? 
  能不能用简明的语言解释什么是非参数(nonparametric)模型? 
  C#为何属性和取值相同的dynamic对象的GetHashCode()相同,直接比较两者却又不同?? 
  学数学学到什么程度怎样才算学好了? 
  如果把科学家看作法师,数学、物理、化学和生物等学科看作魔法分支,世界会是怎样的? 
  什么是 Finsler Geometry?它与 Riemann 几何有什么关系? 
  如何理解马尔可夫链? 
  弦理论专家爱德华 · 威滕对理论物理有哪些值得分享的独到见解? 
  (1+e^((-2k-1)pi)) k 从0到无穷的连乘怎么算? 

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





© 2025-01-18 - tinynew.org. All Rights Reserved.
© 2025-01-18 - tinynew.org. 保留所有权利