如何通过值获取哈希表的键

时间:2012-05-30 19:33:36

标签: c# key hashtable

我可以按值获取哈希表的密钥吗?我试图找到并编码但不成功。任何人都可以帮助我。

谢谢somuch

2 个答案:

答案 0 :(得分:3)

如果您使用的是Hashtable class,则返回的枚举数为IDictionaryEnumerator,您可以这样做:

object key;
foreach (DictionaryEntry entry in theHashTable)
{
    if (entry.Value == theValue)
    {
        key = entry.Key;
        break;
    }
}

话虽如此,我强烈推荐不同的数据结构。如果没有别的,升级到使用Dictionary<TKey, TValue>将提供类型安全性,但您仍需要循环遍历词典中的KeyValuePair<TKey, TValue)项以找到与值匹配的键。

答案 1 :(得分:0)

您需要手动遍历字典中的KeyValuePair<>,直到找到匹配的值。