📜  C#|字典类(1)

📅  最后修改于: 2023-12-03 15:14:28.845000             🧑  作者: Mango

C# | 字典类

字典是一种在C#中用于存储键值对的数据结构。它提供了快速的查找和访问数据的能力,并且可以根据键来进行排序。在C#中,字典类由 Dictionary<TKey, TValue> 实现。

基本用法

首先,我们需要引入 System.Collections.Generic 命名空间来使用字典类。然后,我们可以使用以下代码示例创建和操作字典:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 创建一个空字典
        Dictionary<string, int> ages = new Dictionary<string, int>();

        // 添加键值对到字典
        ages["Alice"] = 25;
        ages["Bob"] = 30;
        ages["Charlie"] = 35;

        // 通过键来访问值
        Console.WriteLine(ages["Bob"]); // 输出:30

        // 检查键是否存在
        if (ages.ContainsKey("Dave"))
        {
            Console.WriteLine(ages["Dave"]);
        }
        else
        {
            Console.WriteLine("Dave not found");
        }

        // 循环遍历字典的键值对
        foreach (KeyValuePair<string, int> pair in ages)
        {
            Console.WriteLine(pair.Key + ": " + pair.Value);
        }
    }
}
字典的特性
  • 字典类通常基于哈希表实现,因此可以提供快速的插入和查找操作。在大多数情况下,字典的性能很优秀。
  • 字典中的键是唯一的,不能重复。
  • 通过键来访问值的速度非常快,不受字典大小的影响。
  • 字典类可以存储任意类型的键和值,只要它们满足特定的约束。
字典的常用操作
添加和更新键值对

可以使用 Add 方法来添加新的键值对,如果键已存在,则会抛出异常。如果想更新已存在的键值对,可以直接通过键来访问值,并重新赋值。

Dictionary<string, string> capitals = new Dictionary<string, string>();

// 添加键值对
capitals.Add("China", "Beijing");
capitals.Add("USA", "Washington D.C.");
capitals.Add("Japan", "Tokyo");

// 更新值
capitals["China"] = "Shanghai";
删除键值对

可以使用 Remove 方法来删除字典中的键值对。

Dictionary<string, string> capitals = new Dictionary<string, string>();

// 添加键值对
capitals.Add("China", "Beijing");
capitals.Add("USA", "Washington D.C.");

// 删除键值对
capitals.Remove("USA");
访问字典的大小

可以使用 Count 属性来获取字典中键值对的数量。

Dictionary<string, string> capitals = new Dictionary<string, string>();

// 添加键值对
capitals.Add("China", "Beijing");
capitals.Add("USA", "Washington D.C.");

// 获取字典的大小
int size = capitals.Count;
检查键是否存在

可以使用 ContainsKey 方法来检查键是否存在于字典中。

Dictionary<string, string> capitals = new Dictionary<string, string>();

// 添加键值对
capitals.Add("China", "Beijing");

// 检查键是否存在
if (capitals.ContainsKey("USA"))
{
    Console.WriteLine("USA exists");
}
循环遍历字典的键值对

可以使用 foreach 循环来遍历字典的键值对。

Dictionary<string, string> capitals = new Dictionary<string, string>();

// 添加键值对
capitals.Add("China", "Beijing");
capitals.Add("USA", "Washington D.C.");

// 遍历字典的键值对
foreach (KeyValuePair<string, string> pair in capitals)
{
    Console.WriteLine(pair.Key + ": " + pair.Value);
}
总结

字典类是C#中非常有用和常见的数据结构,它提供了快速的键值对访问和查找功能。通过字典类,开发人员可以轻松地存储和操作大量的相关数据。在实际开发中,字典类在处理大规模数据、构建缓存以及进行快速查找和索引时发挥着重要作用。