C#のStringDictionaryで指定したキーの値を取得・設定する方法
C#のStringDictionaryでは、インデクサー(Itemプロパティ)を使うことで、指定したキーに対応する値を簡単に取得したり、新しい値を設定(上書き)したりできます。この記事では、その基本的な使い方をサンプルコードとともに解説します。
StringDictionaryのインデクサーとは
StringDictionaryは、キーと値がどちらも文字列であるコレクションを扱うクラスです。System.Collections.Specialized名前空間に属しており、myDict["キー"]という形式のインデクサー構文で、特定のキーに関連付けられた値へアクセスできます。
- 値の取得:
myDict[key]を読み取ることで、そのキーに対応する値を返します。キーが存在しない場合はnullが返されます。 - 値の設定:
myDict[key] = valueのように代入すると、既存のキーの値が更新されます。キーが存在しない場合は、新しいエントリとして追加されます。
例1:指定したキーの値を取得する
まずは、StringDictionaryに複数の要素を追加し、キー「5」に対応する値を取得する例を見てみましょう。
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary myDict = new StringDictionary();
myDict.Add("1", "Tablet");
myDict.Add("2", "Desktop");
myDict.Add("3", "Speakers");
myDict.Add("4", "Laptop");
myDict.Add("5", "Notebook");
myDict.Add("6", "Ultrabook");
myDict.Add("7", "HDD");
myDict.Add("8", "SDD");
myDict.Add("9", "Headphone");
myDict.Add("10", "Earphone");
Console.WriteLine("キー5の値 = " + myDict["5"]);
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
キー5の値 = Notebook
キー「5」に登録されていた「Notebook」が正しく取得できていることがわかります。
例2:指定したキーの値を設定(更新)する
次に、同じキーに対して新しい値を代入し、値を更新する例を紹介します。
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary myDict = new StringDictionary();
myDict.Add("1", "Tablet");
myDict.Add("2", "Desktop");
myDict.Add("3", "Speakers");
myDict.Add("4", "Laptop");
myDict.Add("5", "Notebook");
myDict.Add("6", "Ultrabook");
myDict.Add("7", "HDD");
myDict.Add("8", "SDD");
myDict.Add("9", "Headphone");
myDict.Add("10", "Earphone");
Console.WriteLine("キー5の値 = " + myDict["5"]);
// キー5の値を更新
myDict["5"] = "Flash Drive";
Console.WriteLine("キー5の値 [更新後] = " + myDict["5"]);
}
}出力結果
実行すると、以下のように値が更新されていることが確認できます。
キー5の値 = Notebook キー5の値 [更新後] = Flash Drive
まとめ
StringDictionaryのインデクサーを使えば、キーを指定して値の取得と設定を直感的な構文で行えます。値の参照には myDict[key]、値の更新や追加には myDict[key] = value を使うだけでよいため、文字列ベースのキーバリューデータを扱う際に非常に便利です。なお、存在しないキーを読み取ると null が返る点には注意してください。
-
C#のStringDictionaryに特定の値が含まれているかどうかを確認する方法
C#のStringDictionaryに特定の値(Value)が含まれているかどうかを確認するには、ContainsValue()メソッドを使用します。このメソッドは、指定した値がディクショナリ内に存在する場合は true、存在しない場合は false を返します。また、特定のキー(Key)の存在を確認したい場合は ContainsKey() メソッドを使います。以下のサンプルコードでは、これらのメソッドの基本的な使い方を紹介します。例1:ContainsValue()で値の存在を確認するまずは、複数のキーと値を持つStringDictionaryを作成し、ContainsKey()とCont
-
【C#】StringDictionaryに特定のキーが存在するかどうかをContainsKeyで確認する方法
C#の StringDictionary クラスにおいて、特定のキーがコレクション内に存在するかどうかを確認するには、ContainsKey() メソッドを使用します。このメソッドは、指定したキーが存在すれば true、存在しなければ false を返します。ContainsKeyメソッドの基本構文public virtual bool ContainsKey(string key);key: 存在を確認したいキー(文字列)を指定します。戻り値: キーが見つかった場合は true、見つからない場合は false。なお、StringDictionary のキーは大文字・小文字を区別せず、内部的に