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