using System;
using System.Collections.Generic;
/*
Dictionary<K,V> 字典集合
Dictionary<K, V> 泛型集合是Hashtable集合的泛型集合,即可以指定存储数据类型的集合。
Dictionary<K, V> 是Hashtable的泛型集合定义在System.Collections.Generic命名空间下,使用时需要先引入该命名空间,
该泛型集合相当于同时给容器的Key和Value贴上了指定类型的标签,一旦指定泛型类型,那么该容器就只能存储指定类型的键值对数据,方便开发者操作数据。
简要说明
1.Hashtable:非泛型哈希表,键值都是object,装箱拆箱、类型不安全
2.Dictionary<TKey,TValue>:泛型版哈希表,C# 专门用来替代 Hashtable
3.底层哈希寻址、扩容、冲突处理逻辑高度一致
4.日常开发优先用Dictionary,废弃Hashtable
核心区别
Hashtable:无泛型,值类型频繁装箱拆箱,性能差
Dictionary:泛型约束,类型安全,无装箱,效率更高
一句话总结
Dictionary 就是 Hashtable 的泛型优化版本。
*/
namespace Dictionary它是HashTable的泛型优化版本
{
internal class Program
{
static void Main(string[] args)
{
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("huanglin", 100);
dict.Add("xuzhenglong", 98);
Console.WriteLine(dict["huanglin"]);//100
//遍历“键”
foreach (string item in dict.Keys)
{
Console.WriteLine("键:" + item);
}
Console.WriteLine("=========================");
//遍历“值”
foreach (int item in dict.Values)
{
Console.WriteLine("值:" + item);
}
Console.WriteLine("=========================");
//直接遍历“键值对”
foreach (KeyValuePair<string, int> item in dict)
{
Console.WriteLine("键:{0}\t-->\t值:{1}", item.Key, item.Value);
}
Console.ReadKey();
}
}
}