首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

hashtable可不可以由值获取键?可以的话怎么获取

2012-01-21 
hashtable可不可以由值获取键?可以的话如何获取。如题,hashtable可不可以由值获取键?可以的话如何获取。[解

hashtable可不可以由值获取键?可以的话如何获取。
如题,hashtable可不可以由值获取键?可以的话如何获取。

[解决办法]
一般是没有必要这样做的,你可以用 IDictionaryEnumerator dict = yourHashtable.GetEnumerator;
While(dict.MoveNext()) {
dict.Value // 这就是你要的值,一定要这么做的话你就判断好了。
}

一般我的做法是通过它的Key去取值的:myHashtable[ "key "]
[解决办法]
我想也只能循环判断Value是不是你要的值,是的话把对应的Key存在一个连表中
[解决办法]
想想,

hashtable[key1]=1
hashtable[key2]=1

那么, 你想从value=1中返回来key1给你还是key2给你?

所以, 你的想法不现实
[解决办法]
HaashMap是由Key计算出一个内存区段的唯一地址,在这个地址上保存了Value。 所以这也是HashMap访问速度快的原因。

由此我们可以知道,通过Value找Key是没办法的了。
[解决办法]
HashTable一般用的是HashCode
你可以用你对象直接通过 obj.GetHashCode()获得

热点排行