C# Dictionary型(System.Collections.Generic.Dictionary)
Dictionary型は要素をKeyとValueにひも付けて保持するコレクションクラスです。
Dictionaryを作成する
- 例)Dictionaryを生成する(Key=string型、Value=string型)
-
using System.Collections.Generic; Dictionary<string, string> dic = new Dictionary<string, string>();
要素の追加
- 例)要素を3つ追加する
-
dic.Add("01", "北海道"); dic.Add("02", "青森県"); dic.Add("03", "岩手県");
※指定したKeyの要素が既に存在する場合は例外が発生します。(ArgumentException)
そのような場合は、ContainsKeyメソッドで要素の存在を確認してから追加すると安全です。
(書き方は、下の「Key値、Value値が存在するかどうか確認する」欄をご覧ください。)
要素の取得
- 例)Key=02のValue値を取得する
-
【方法1】 string name = dic["02"]; 【方法2】 string name; bool b = dic.TryGetValue("02", out name);
※方法1の場合、指定したKeyが無い時は例外が発生します。例外を発生させたくない場合は、dic.ContainsKeyメソッドでキーが存在の有無を判定してから要素を取得してください。
(書き方は、下の「Key値、Value値が存在するかどうか確認する」欄をご覧ください。)
要素の更新
- 例)Key=01のValueを「ほっかいどう」に更新する
-
dic["01"] = "ほっかいどう";
要素の削除
- 例)Key値="02"の要素を削除する
-
dic.Remove("02");
- 例)全ての要素を削除する
-
dic.Clear();
Key値、Value値が存在するかどうか確認する
- 例)Key="01"が存在するかどうか確認する
-
bool b = dic.ContainsKey("02");
- 例)Value値="北海道"が存在するかどうか確認する
-
bool b = dic.ContainsValue("北海道");
要素数の取得
- 例)要素数を取得する
-
int cnt = dic.Count;
Dictionary型を別の型に変換する
- 例)Dictionary型をList型に変換する
-
List<KeyValuePair<string, string>> list = dic.ToList();
※KeyValuePair型のListになります。
- 例)Dictionary型を配列に変換する
-
KeyValuePair<string, string>[] arr = dic.ToArray();
※KeyValuePair型の配列になります。
foreachで要素を取り出す
Dictionary型の中身を1つ1つ取り出して処理したい場合は、foreach文が便利です。
- 例)foreachで要素を取り出す
-
// 全要素をループ foreach(string str in dic){ Console.WriteLine(str); }