哈希表的设计初衷就是通过键key来查找值value的,可以说对哈希表的操作内部机制实质上都是对键的操作。键不能为空且唯一,value值可以。键、值可以为任意数据类型。
通过键key查找值value可通过hstb.hstb.Contains(key)、 hstb.ContainsKey(key)查看是否包含指定的键,
hstb.ContainsValue(Value)是否包含指定的值,返回的都是true或false,体现查询结果。
在我的实际项目中却要实现值value查找key,这看似违背了hashtable的设计初衷,通过遍历元素、DictionaryEntry类型就可以轻松实现,写出来供有需要的朋友参考,下面是代码:
【VB.NET】
Dim SValue as string '已知value
Dim strID as string '要查找的key
Dim jzd As DictionaryEntry
For Each jzd In DevHashTable
If SValue= jzd.Value Then strID = jzd.Key
Next
【C#】
foreach (DictionaryEntry jzd in hstb)
{
Console.WriteLine("t{0}t{1}", jzd.Key, jzd.Value);
}
本文介绍了一种在哈希表中通过值value查找键key的方法,通常哈希表设计用于通过键查找值,但作者提供了一个逆向查找的VB.NET和C#示例。
201

被折叠的 条评论
为什么被折叠?



