C#中的数据字典Dictionary的常见CRUD操作

根据MSDN上的记载,说Dictionary<TKey,TValue>字典是表示键和值的集合。提供一组键到一组值的映射。每次对字典的添加都包含一个值和与其关联的键。使用其键检索值的速度非常快,接近O(1)。.

Dictionary<TKey,TValue>该类是作为哈希表实现的,检索的速度取决于为指定的类型的哈希算法的质量TKey。

其余特性简单总结如下

  • 必须包含命名空间System.Collection.Generic
  • Dictionary里面的每一个元素都是一个键值对
  • 键必须是唯一的,而值不需要唯一
  • 键和值都可以是任何类型
  • 通过一个键读取一个值的时间复杂度接近O(1),查找速度非常快,要比list等快很多
  • 键值对之间的偏序可以不定义
  • 可以实现通过键值查找、插入、删除一个键值对的操作,这些如果用数组实现非常麻烦

C#中的数据字典Dictionary的常见CRUD操作

下面是关于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");
      }
  }
}