Dictionary<TKey, TValue> 是 C# 中的一个泛型集合类,它提供了一种键值对的存储结构,可以用来存储和快速访问数据。它的主要特点如下:
-  键值对结构: Dictionary中的每个元素都是一个键值对,键必须是唯一的,值可以重复。
-  快速访问: Dictionary基于哈希表实现,可以提供 O(1) 的平均访问时间,非常适合作为缓存使用。
-  线程安全: Dictionary本身不是线程安全的,但可以通过使用ConcurrentDictionary来实现线程安全。
-  可迭代: Dictionary实现了IEnumerable接口,可以使用foreach循环遍历其中的键值对。
-  可序列化: Dictionary可以通过ISerializable接口进行序列化和反序列化。
下面是一些常用的 Dictionary 操作示例:
// 创建 Dictionary
var dict = new Dictionary<string, int>();// 添加元素
dict.Add("apple", 1);
dict["banana"] = 2;// 获取元素
int value = dict["apple"]; // 返回 1
bool exists = dict.ContainsKey("banana"); // 返回 true// 移除元素
dict.Remove("apple");// 遍历元素
foreach (var pair in dict)
{Console.WriteLine($"Key: {pair.Key}, Value: {pair.Value}");
}// 清空 Dictionary
dict.Clear();
除了基本的增删改查操作,Dictionary 还提供了一些其他有用的方法和属性:
- TryGetValue(key, out value): 尝试获取指定键的值,如果键不存在则返回 false。
- Keys和- Values: 分别返回- Dictionary中的所有键和值的集合。
- Count: 获取- Dictionary中元素的数量。
- GetEnumerator(): 返回一个可用于遍历- Dictionary的枚举器。
总的来说,Dictionary 是 C# 中非常常用和实用的集合类之一,它提供了高效的键值对存储和访问功能,非常适合用作缓存、查找表等场景。对于需要更高级缓存功能的场景,可以考虑使用 MemoryCache 或其他专门的缓存框架。