C# 字典(Dictionary)的使用

Dictionary<TKey, TValue>

一种非常常用的泛型集合类,用于存储键值对的数据结构,可以根据键快速查询对应的值,在需要快速查找和检索数据的场景下,特别是在涉及大量数据时,使用字典是非常高效的选择。

使用方法:

  1. 添加引用
    GetDeviceData
    using System.Collections.Generic;

  2. 创建字典
    在创建字典时,需要指定键和值的类型
    Dictionary<string, int> dic = new Dictionary<string, int>()

  3. 添加元素
    可以使用Add()方法向字典中添加键值对。如果键已经存在于字典中,则Add()方法将会抛出异常。如果我们希望键可以重复,则可以使用索引符号[]直接给字典赋值,这样如果键已经存在,则会更新对应的值

  • Add 方法专门用于添加不存在的键
    dic.Add("Tony", 20);
  • 直接赋值给字典,如果键存在,则更新对应的值;若不存在则会报错
    dic["Tong"] = 26;
  • 使用 ContainsKey 检查后操作 (经典方法)
    这是最清晰、最常用的方法,先检查是否存在,再决定是更新还是添加
    if(dic.ContainsKey(key)){ dic[key] = value; }else{ dic.Add(key, value); }
  • 使用 TryAdd 方法
    该方法尝试添加键值对,如果键已存在则返回 false 且不添加,不会抛出异常
    bool added = dic.TryAdd("Tong", 27); // added = false, 操作失败,字典保持不变
  1. 访问元素
  • 通过键访问字典中的值,字典中不存在该键,则会抛出异常
    int age = dic["Tony"];
  • 使用 TryGetValue() 避免抛出异常
    bool geted = dic.TryGetValue("Tony", out int age);
  1. 删除元素
    可以使用Remove()方法根据键从字典中删除元素。
    `dic.Remove("Tony");

  2. 遍历字典
    使用 foreach 循环遍历字典中所有的键值对
    foreach(var kvp in dic){}
    foreach(var kvp in dic.Keys){}
    foreach(var kvp in dic.Values){}

  3. 字典的常用方法

  • count 属性用于获取字典中键值对的数量
    int count = dic.Count;
  • ContainsKey 和 ContainsValue
    dic.ContainsKey(key)判断字典中是否包含指定的键,返回一个布尔值;
    dic.ContainsValue(value)方法用于判断字典中是否包含指定的值,返回一个布尔值。
  • Clear() 方法用于清空整个字典,即删除所有键值对,字典变为空
    dic.Clear();
posted @ 2025-08-23 16:47  鸭子进京赶烤  阅读(34)  评论(0)    收藏  举报