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
或其他專門的緩存框架。