C#遍历访问Dictionary和HashTable

本文通过示例对比了C#中Dictionary与Hashtable两种集合类型的使用方式与输出顺序的差异,Dictionary按照添加顺序输出,而Hashtable则不保证顺序。

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

一般地Dictionary是按照元素的添加顺序输出的,这和HashTable不同。

Dictionary<int, string> dictionary = new Dictionary<int, string>();
dictionary.Add(1, "xiaowang");
dictionary.Add(21, "dsd");
dictionary.Add(33, "dsfdfd");
dictionary.Add(4, "liusang");

foreach (KeyValuePair<int, string> kvp in dictionary)
{
    Console.WriteLine("key={0},value={1}", kvp.Key, kvp.Value);
}

foreach (int j in dictionary.Keys)
{
    Console.WriteLine("key={0},value={1}", j, dictionary[j]);
}

Hashtable table = new Hashtable();

table.Add(1, "wang gang");
table.Add(21, "xiao li");
table.Add(33, "xiao fan");
table.Add(4, "fff");

foreach (int i in table.Keys)
{
    Console.WriteLine("key={0},value={1}", i, table[i]);
}

foreach (string str in table.Values)
{
    Console.WriteLine("value={0}", str);
}

System.Collections.IDictionaryEnumerator d = table.GetEnumerator();
while (d.MoveNext())
{
    System.Console.WriteLine("key={0},value={1}",d.Entry.Key,d.Entry.Value);
}

foreach (DictionaryEntry entry in table)
{
    Console.WriteLine("key={0},value={1}", entry.Key, entry.Value);
}

Console.ReadLine();

 

输出结果:

key=1,value=xiaowang
key=21,value=dsd
key=33,value=dsfdfd
key=4,value=liusang
key=1,value=xiaowang
key=21,value=dsd
key=33,value=dsfdfd
key=4,value=liusang
key=21,value=xiao li
key=4,value=fff
key=1,value=wang gang
key=33,value=xiao fan
value=xiao li
value=fff
value=wang gang
value=xiao fan
key=21,value=xiao li
key=4,value=fff
key=1,value=wang gang
key=33,value=xiao fan
key=21,value=xiao li
key=4,value=fff
key=1,value=wang gang
key=33,value=xiao fan

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值