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 或其他专门的缓存框架。