Dictionaryに要素を追加する方法をサンプルコードを交えて解説したいと思います。
説明
方法 | メソッド名 |
---|---|
① |
Add |
② |
TryAdd |
③ |
ブラケット記法 |
Add
・引数に指定したKeyとValueを追加
・Keyが重複した場合はArgumentExceptionが発生する
TryAdd
・引数に指定したKeyとValueを追加を試みる
・Keyが重複していなかった場合はTrueを返す
・Keyが重複していた場合はFalseを返す
ブラケット記法
Keyが重複した場合はValueが上書きされる
例
コード
using System; using System.Collections.Generic; namespace Sample { /// <summary> /// メインプログラム /// </summary> public class Program { /// <summary> /// Dictionaryに要素を追加 /// </summary> static void Main() { // Dictionaryの生成 var pairs1 = new Dictionary<int, string>(); var pairs2 = new Dictionary<int, string>(); var pairs3 = new Dictionary<int, string>(); // 要素を追加 // Addを使った方法 Console.WriteLine("Add"); try { pairs1.Add(1, "一郎"); pairs1.Add(2, "二郎"); pairs1.Add(3, "三郎"); pairs1.Add(1, "四郎"); } catch(Exception ex) { Console.WriteLine("Keyが重複した場合 : " + ex.GetType()); } Console.WriteLine("[Key, Value] : " + string.Join(", ", pairs1)); Console.WriteLine(); // TryAddを使った方法 Console.WriteLine("TryAdd"); var tryAddReturns = new List<bool>() { pairs2.TryAdd(1, "一郎"), pairs2.TryAdd(2, "二郎"), pairs2.TryAdd(3, "三郎"), pairs2.TryAdd(1, "四郎") }; Console.WriteLine("戻り値 : " + string.Join(", ", tryAddReturns)); Console.WriteLine("[Key, Value] : " + string.Join(", ", pairs2)); Console.WriteLine(); // ブラケット記法を使った方法 Console.WriteLine("ブラケット記法"); pairs3[1] = "一郎"; pairs3[2] = "二郎"; pairs3[3] = "三郎"; pairs3[1] = "四郎"; Console.WriteLine("[Key, Value] : " + string.Join(", ", pairs3)); Console.WriteLine(); } } }
出力
Add Keyが重複した場合 : System.ArgumentException [Key, Value] : [1, 一郎], [2, 二郎], [3, 三郎] TryAdd 戻り値 : True, True, True, False [Key, Value] : [1, 一郎], [2, 二郎], [3, 三郎] ブラケット記法 [Key, Value] : [1, 四郎], [2, 二郎], [3, 三郎]