在编写代码时, 应当能够正确区分哪些是易于出问题的错误代码,哪些是可以模糊处理的代码,前者需要谨慎处理,以保持代码的正确性和鲁棒性,后者则可以灵活变化。...为什么对象需要这样的一个方法
在类型系统中的每个对象都应该提供一个 GetType 的方法, 这是完全合理的。数据自描述能力是 CLR 类型系统的一个关键特性。...Guideline: 哈希代码的分布必须是 "随机的"
"随机分布" 的意思是, 如果在被哈希的对象中有共性, 那么在产生的哈希代码中不应该有相似的共性。...例如, 假设您正在散列一个表示某个点的纬度和经度的对象。一组这样的地点很可能是集群位置;奇数总是更好些, 比如说, 大部分是同一个城市的房屋, 或者是同一个油田的阀门, 或者其他的。...如果面临这种情况, 请教一位专家来可能建立 GetHashCode 的恶意数据抵抗的实现, 这样做的正确和安全正是一个专家在该领域的工作(意思是靠自己难度很大)。