字典基础
1.概述:字典是一组映射,更准确的说应该是一个函数。因为它的键值不能重复,而值可以重复。其逻辑实质也是顺序型的
2.操作:
(1)创建: Dictionary<键类型,值类型> 字典名 =new Dictionary<键类型,值类型>(); //值和键类型除了基础类型,也可以数组,列表等复杂类型。
Dictionary<键类型,值类型> 字典名 =new Dictionary<键类型,值类型>()
{
{第一组键值},{第二组键值}…… //直接初始化
};
(2)添加元素:字典名.Add(键值,值);
// 如果新添加的元素的键值重复,则在运行时会报错。这是可以用 字典名.TryAdd(键值,值); 进行判断。注意这个方法的返回值是bool型
(3)取值与赋值
取值: 字典名[键值];
//如果害怕字典中不存在所要取值的键,则可以用 字典名.TryGetValue(键值,out 输出参数 ); 进行判断,返回值为bool型。在这里要注意输出参数则代表了Value,不要忘记out
赋值: 字典名[键值]=新值;
(1) 删除元素: 字典名.Remove(键值);
(2) 显示字典的全长: 字典名.Count(); //加不加圆括号都行
(3) 判断键是否在字典内:字典名.ContainsKey(键值);//返回类型为bool型
(4) 判断值是否在字典内:字典名.ContainsValue(值); //返回类型为boo型
(5) 通过键值对遍历字典:foreach(KeyValuePair 变量名 in 字典名){;}
(9)获取哈希表建的集合://以此遍历哈希表的键值
Dictionary<键类型,值类型>.KeyCollection 变量名 = 字典名.Keys;
(6) 获取哈希表值的集合://以此遍历哈希表的值
Dictionary<键类型,值类型>.ValueCollection 变量名 = 字典名.Value;
//(8) (9) 两种遍历方法还可以简化为:
foreach(var I in 字典名.Keys/Values) {;}
(7) 清空字典: 字典名.Clear();
3.排序字典:Sorted Dictionary<键类型,值类型>与字典的操作大体相同,不同处在于其值按键升序排序。