hashtable 利用 foreach 与 while for遍历方法
在.net framework中,hashtable是system.collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。hashtable中keyvalue键值对均为object类型,所以hashtable可以支持任何类型的keyvalue键值对.
遍历哈希表
遍历哈希表需要用到dictionaryentry object,代码如下:
for(dictionaryentry de in ht) fileht为一个hashtable实例
{
console.writeline(de.key);de.key对应于keyvalue键值对key
console.writeline(de.value);de.key对应于keyvalue键值对value
}
idictionaryenumerator id = ht.getenumerator();
while (id.movenext())
{
person p = (person)ht[id.key];
if (p.name == strname)
{
console.writeline("查询后的结果是:" + p.name + "t" + p.email + "t" + p.age);
}
}
foreach (string item in ht.keys)
{
person p = (person)ht[item];
if (strname == p.name)
{
console.writeline("查询后的结果是:" + p.name + "t" + p.email + "t" + p.age);
}
}
foreach (dictionaryentry item in ht)
{
if (strname == ((person)item.value).name)
{
console.writeline("查询后的结果是:" + ((person)item.value).name + "t" + ((person)item.value).email + "t" + ((person)item.value).age);
}
}
foreach (person item in ht.values)
{
if (item.name == strname)
{
console.writeline("查询后的结果是:" + item.name + "t" + item.email + "t" + item.age);
}
}
hashtable 在集合中称为键值对,它的每一个元素的类型是 dictionaryentry,由于hashtable对象的键和值都是object类型,决定了它可以放任何类型的数据,