在 Java 中要儲存 Key / Value (索引鍵/值) 的內容會使用各式的 map,而在 C# 的世界中我們使用 Dictionary (字典) 來儲存
註:如果加入時 Key 已經存在,會拋出 System.ArgumentException 例外,所以在加入前要先檢查 Key 是否存在,不存在才能增加
註:如果 Key 不存在會拋出 System.Collections.Generic.KeyNotFoundException 例外,在取資料前要先檢查 Key 有存在才能取值
在移除時如果 Key 不存在並不會拋出例外 (測試環境: .NET 6)
參考資料:
Dictionary<TKey,TValue> 類別
初始化
// 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> 類別
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com