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

解决方案 »

  1.   

    一般是没有必要这样做的,你可以用 IDictionaryEnumerator dict = yourHashtable.GetEnumerator;
    While(dict.MoveNext()) {
        dict.Value  // 这就是你要的值,一定要这么做的话你就判断好了。
    }一般我的做法是通过它的Key去取值的:myHashtable["key"]
      

  2.   

    我想也只能循环判断Value是不是你要的值,是的话把对应的Key存在一个连表中
      

  3.   

    想想, hashtable[key1]=1
    hashtable[key2]=1那么, 你想从value=1中返回来key1给你还是key2给你?所以, 你的想法不现实
      

  4.   

    HaashMap是由Key计算出一个内存区段的唯一地址,在这个地址上保存了Value。 所以这也是HashMap访问速度快的原因。由此我们可以知道,通过Value找Key是没办法的了。
      

  5.   

    HashTable一般用的是HashCode
    你可以用你对象直接通过 obj.GetHashCode()获得