Dictionary可以理解未拥有泛型的Hashtable,它是基于键的哈希代码组织起来的键/值对,键值对的类型从Hashtable的object变为了可以自己制定的泛型。
申明:Dictionary<Key, Value> dictionary=new Dictionary<Key,Value>();
增删改查:
//增
//不能出现相同键
Dictionary<int,string> dictionary=new Dictionary<int,string>();
dictionary.Add(1,"11");//添加单个元素
dictionary.Add(2, "111");
dictionary.Add(3, "1123");
List<int> list2 = new List<int>();
//删
//只能通过键去删除
// 删除不存在的键 没反应
dictionary.Remove(1);//移除键1对应元素
dictionary.Clear();//清空
//查
//通过键查看值
//找不到会报错
Console.Write(dictionary[0]);//得到指定键的元素
if (dictionary.ContainsKey(1))//根据键检测
{
Console.WriteLine("存在键为1的键值对");
}
if (dictionary.ContainsValue("11"))//根据值检测
{
Console.WriteLine("存在值为11的键值对");
}
//改
dictionary[1] = "999";//[]中是键
遍历:
Console.WriteLine(dictionary.Count);//长度
//遍历所有键
foreach(int item in dictionary.Keys)
{
Console.WriteLine(item);
Console.WriteLine(dictionary[item]);
}
//遍历所有值
foreach(string item in dictionary.Values)
{
Console.WriteLine(item);
}
//键值对一起遍历
foreach (KeyValuePair<int,string> item in dictionary)
{
Console.WriteLine("键:"+item.Key+"值:"+item.Value);
}