C# 使用 Dictionary 儲存 Key, Value 詳細教學

在 Java 中要儲存 Key / Value (索引鍵/值) 的內容會使用各式的 map,而在 C# 的世界中我們使用 Dictionary (字典) 來儲存

初始化

    
// var dict = new Dictionary<Key 型別, Value 型別>();
var dict = new Dictionary<string, string>(); 
    

檢查 Key 是否存在

    
bool isExist = dict.ContainsKey("K");
    

增加

    
dict.Add("K","V");
    

註:如果加入時 Key 已經存在,會拋出 System.ArgumentException 例外,所以在加入前要先檢查 Key 是否存在,不存在才能增加

取得指定 Key 的 Value

    
string value = dict["K"];
    

註:如果 Key 不存在會拋出 System.Collections.Generic.KeyNotFoundException 例外,在取資料前要先檢查 Key 有存在才能取值

重新復值

    
dict["K"] = "V2";
    

移除

    
dict.Remove("K");
    

在移除時如果 Key 不存在並不會拋出例外 (測試環境: .NET 6)

移除全部

    
dict.Clear();
    

取得資料總數量

    
var count = dict.Count;
    

歷遍所有

    
foreach (KeyValuePair<string, string> item in dict)
{
    Console.WriteLine(item.Key + " : " + item.Value);
}
    

取得所有的 Key

    
Dictionary<string, string>.KeyCollection keys = dict.Keys;
foreach (string key in keys)
{
    Console.WriteLine(key);
}
    

取得所有的 Value

    
Dictionary<string, string>.ValueCollection values = dict.Values;
foreach (string value in values)
{
    Console.WriteLine(value);
}
    

在建立 Dictionary 時就賦值

    
var dict = new Dictionary<string, string>
{
    ["K1"] = "V1",
    ["K2"] = "V2",
};
    


參考資料:
Dictionary<TKey,TValue> 類別

留言