Dictionaryにデータを追加する方法と、データの削除方法をご紹介します。
データの追加方法
Dim dic As New Dictionary(Of Integer, String)
dic.Add(30, "りんご")
dic.Add(50, "バナナ")
dic.Add(10, "オレンジ")
For Each k In dic
Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:30の値はりんごです
キー:50の値はバナナです
キー:10の値はオレンジです
Dictionaryにデータを追加するには、Addメソッドを使います。
第1引数にキー、第2引数に値を指定します。
新しく追加するデータは、既存データの末尾に追加されていきます。
(キーの値によって自動整列してくれる機能を持つ
SortedDictionaryと言う型もあります。)
追加したいデータのキーが既にあった場合は?
Dim dic As New Dictionary(Of Integer, String)
dic.Add(1, "りんご")
dic.Add(2, "バナナ")
dic.Add(3, "オレンジ")
Try
dic.Add(2, "レモン")
Catch ex As ArgumentException
Console.WriteLine("キー:2は既に存在しています")
End Try
For Each k In dic
Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:2は既に存在しています
キー:1の値はりんごです
キー:2の値はバナナです
キー:3の値はオレンジです
Dictionaryに存在しているキーをAddメソッドで追加しようとした場合は、
例外が発生し、追加されません。
スポンサーリンク
データの削除方法
Dim dic As New Dictionary(Of Integer, String)
dic.Add(1, "りんご")
dic.Add(2, "バナナ")
dic.Add(3, "オレンジ")
dic.Remove(2)
For Each k In dic
Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:1の値はりんごです
キー:3の値はオレンジです
Dictionary内のデータを削除したい場合は、Removeメソッドを使います。
引数で指定されたキーがあるか調べ、あった場合は、削除します。
削除したいキーが存在しなかった場合は?
Dim dic As New Dictionary(Of Integer, String)
dic.Add(1, "りんご")
dic.Add(2, "バナナ")
dic.Add(3, "オレンジ")
Dim b As Boolean
b = dic.Remove(5)
If b = False Then
Console.WriteLine("キー:5は見つかりませんでした")
End If
For Each k In dic
Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:5は見つかりませんでした
キー:1の値はりんごです
キー:2の値はバナナです
キー:3の値はオレンジです
削除したいキーに5を指定してみました。
キー5はDictionary内のデータに存在しないため、削除されず、
Removeメソッドの戻り値として、Falseが返ります。
これでDictionaryのデータ追加、削除ができるようになりました。