最近我遇到了以下问题:
如果给定的值落在值的专用范围内,我想显示一些特殊的内容。 由于在开始我的应用程序之前我不知道这个范围如何看起来像或我需要检查哪些值,我使用Dictionary来将valueranges读作键并将输出读为值。
为了使字典正常工作,我需要重写equals和hash代码函数,并且在这里问题开始了。
我如何可以生成一个散列码,这样,如果我的字典有生成值范围的哈希码
//This is pseudo code
[0|10]->Low
[11|50]->Medium
[51-100]->High
,我查询2,我的字典返回我Low
我解决这是简单地重写的GetHashCode的函数的方式Object购买总是返回-1,所以在任何情况下都需要调用equals方法。这听起来不是一个好主意,但却是我想到的唯一解决方案。
还有什么方法可以将hashcodes的想法映射到值范围,如果是的话,那会是什么样子?
答案的代码语言也没关系,因为我更感兴趣的一般方法,然后在语言实现