Dictionary<TKey, TValue>
是一個泛型集合,它存儲鍵值對(key-value pairs),其中每個鍵(key)都是唯一的。這個集合類提供了快速的數據插入和檢索功能,因為它是基于哈希表實現的。
注意 key不能重復,如果key重復了,系統就會報錯
-
泛型:
Dictionary
是泛型集合,這意味著你可以指定存儲在字典中的鍵和值的數據類型。例如,Dictionary<string, int>
表示鍵是字符串類型,值是整數類型。 -
添加元素:使用
Add
方法或索引器來添加鍵值對。如果鍵已經存在,Add
方法會更新對應的值。Dictionary<string, int> scores = new Dictionary<string, int>(); scores.Add("Alice", 90); scores["Bob"] = 85; // 使用索引器添加或更新
-
檢索元素:使用索引器通過鍵來檢索值。
復制 int aliceScore = scores["Alice"];
-
檢查鍵是否存在:使用
ContainsKey
方法來檢查字典中是否存在特定的鍵。if (scores.ContainsKey("Alice")) {Console.WriteLine("Alice is in the dictionary."); }
-
遍歷字典:可以使用
foreach
循環遍歷字典中的所有鍵值對。foreach (KeyValuePair<string, int> kvp in scores) {Console.WriteLine($"Name: {kvp.Key}, Score: {kvp.Value}"); }
-
移除元素:使用
Remove
方法來移除鍵值對。如果鍵不存在,Remove
方法會返回false
。scores.Remove("Alice");
-
獲取鍵和值的集合:可以使用
Keys
和Values
屬性來獲取字典中所有鍵和值的集合。IEnumerable<string> keys = scores.Keys; IEnumerable<int> values = scores.Values;
-
獲取元素數量:使用
Count
屬性來獲取字典中元素的數量。int count = scores.Count;
-
清空字典:使用
Clear
方法來移除字典中的所有元素。scores.Clear();
-
TryGetValue 方法:嘗試獲取與指定鍵相關聯的值,如果鍵存在,返回
true
并輸出值;如果不存在,返回false
。int value; if (scores.TryGetValue("Alice", out value)) {Console.WriteLine($"Alice's score is {value}."); } else {Console.WriteLine("Alice is not in the dictionary."); }
注意 Dictionary的使用索引器查找元素的時候 和數組不一樣 不是從0開始 而是根據你添加的tkey尋找