根据MSDN上的记载,说Dictionary<TKey,TValue>字典是表示键和值的集合。提供一组键到一组值的映射。每次对字典的添加都包含一个值和与其关联的键。使用其键检索值的速度非常快,接近O(1)。.
Dictionary<TKey,TValue>该类是作为哈希表实现的,检索的速度取决于为指定的类型的哈希算法的质量TKey。
其余特性简单总结如下
-
必须包含命名空间System.Collection.Generic -
Dictionary里面的每一个元素都是一个键值对 -
键必须是唯一的,而值不需要唯一 -
键和值都可以是任何类型 -
通过一个键读取一个值的时间复杂度接近O(1),查找速度非常快,要比list等快很多 -
键值对之间的偏序可以不定义 -
可以实现通过键值查找、插入、删除一个键值对的操作,这些如果用数组实现非常麻烦
下面是关于Dictionary的一些CRUD操作。
定义字典、添加键值、取值、改值、遍历key、遍历value、删除元素、清空所有元素
//定义
static Dictionary<int, string> ahuiInfo = new Dictionary<int, string>();
static void Main(string[] args)
{
//添加键值
ahuiInfo.Add(1,"阿辉");
ahuiInfo.Add(2, "阿酶");
ahuiInfo[2] = "阿一"
//取值
var name=ahuiInfo[0].ToString();
Console.WriteLine(""+name
//修改值
ahuiInfo[0] = "阿姨";
Console.WriteLine("" + ahuiInfo[0].ToString()
//遍历key和value
foreach (var key in ahuiInfo.Keys)
{
Console.WriteLine(""+key.ToString());
foreach (var value in ahuiInfo.Values)
{
Console.WriteLine(" "+value.ToString());
//遍历字典
foreach(KeyValuePair<int ,string> kvp in ahuiInfo)
{
Console.WriteLine("key="+kvp.Key+",value="+kvp.Value);
//删除元素
ahuiInfo.Remove(0
//判断键是否存在
if (ahuiInfo.ContainsKey(0))
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
}
}