
C#基础理论
文章平均质量分 77
铭轩同学
.net开发
展开
-
函数GetHashCode()的缺陷
本条款讨论函数GetHashCode()的缺陷,这种情况在全书中是唯一的。幸运的是,GetHashCode()函数只应用在一个地方:为一个基于散列(hash)的集合定义键的散列值,典型的集合为Hashtable或Dictionary容器。因为基类的GetHashCode()实现有很多问题。对引用类型来讲,它可以正常工作,但是效率很低。对于值类型来讲,基类中的实现通常是不正确的。更为糟糕的是,我们编转载 2014-04-17 16:31:49 · 707 阅读 · 0 评论 -
ReferenceEquals(), static Equals(), instance Equals(), 和运算行符==之间的关系
2012-06-21 09:11:24 C#充许你同时创建值类型和引用类型。两个引用类型的变量在引用同一个对象时,它们是相等的,就像引用到对象的ID一样。两个值类型的变量在它们的类型和内容都是相同时,它们应该是相等的。这就是为什么相等测试要这么多方法了。 先从两个你可能从来不会修改的方法开始。 ReferenceEquals(): Object.ReferenceEqu转载 2014-04-17 16:07:21 · 592 阅读 · 0 评论