Hashtable 的用法

本文详细介绍了如何使用Hashtable实现非泛型对象的存储,并通过foreach和IEnumerator进行遍历,同时展示了如何检查键和值的存在性以及获取Keys和Values集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Hashtable实现了IDictionary接口,可以用来存储非泛型对象。由于Hashtable实现的是IEnumerable接口,所以可以用foreach对Hashtable进行遍历。
        void ContainsKey(object o)   //判断Hashtable 是否包含指定键。
        void ContainsValue(object o)    //判断Hashtable是否包含指定的值。
        Hashtable Hashtable.Synchronized (Hashtable t) //静态方法,将一个普通的Hashtable包装为一个同步的(线程安全)Hashtable。
    用IEnumerator对Hashtable进行显示:
        Hashtable h = new Hashtable();
        h.Add("a","aaaa");
        h.Add("b", "bbbb");
       
IEnumerator ie = h.GetEnumerator();
        while (ie.MoveNext())
        {
            Console.Write(((DictionaryEntry)ie.Current).Key + "\t" + ((DictionaryEntry)ie.Current).Value+"\n");
        }

    用foreach来实现对Hashtable的迭代显示:
        Hashtable h = new Hashtable();
        h.Add("a","aaa");
        h.Add("b", "bbb");
       
foreach (DictionaryEntry d in h)
        {
            Console.WriteLine(d.Key+"\t"+d.Value);
        }

    由于Keys和Values也是ICollection集合,所以也要以用foreach分别对Keys和Values集合进行迭代
        Hashtable h = new Hashtable();
        h.Add("a","aaa");
        h.Add("b", "bbb");    
        foreach (object var in h.Keys)
        {
            Console.WriteLine(var);
        }
        foreach (object var in h.Values)
        {
            Console.WriteLine(var);
        }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值