【发布时间】:2016-02-26 05:49:27
【问题描述】:
最近遇到如下问题:
如果给定的值落在一个特定的值范围内,我想显示一些特别的东西。
由于在开始我的应用程序之前我不知道这些范围的外观或我需要检查哪些值,因此我使用字典将值范围读取为键并将输出读取为值。
为了使字典正常工作,我需要覆盖等号和哈希码函数,问题就从这里开始了。
如何生成哈希码,以便如果我的字典包含
//This is pseudo code
[0|10]->Low
[11|50]->Medium
[51-100]->High
我查询 2,我的字典返回我 Low
我解决这个问题的方法是简单地覆盖 Object buy 的 getHashcode 函数,该函数总是返回 -1,因此在任何情况下都需要调用 equals 方法。这听起来不是一个好主意,但这是我想到的唯一解决方案。
是否有任何方法可以将哈希码的概念与值范围进行映射,如果有,会是什么样子?
Answers 的代码语言无关紧要,因为我对通用方法比语言实现更感兴趣
【问题讨论】:
标签: .net dictionary hashcode