【C#】StringDictionaryで指定したキーに関連付けられた値を取得・設定する方法
C#のStringDictionaryクラスでは、インデクサー([])を使うことで、指定したキーに関連付けられた値を簡単に取得したり、新しい値に更新したりできます。この記事では、その基本的な使い方をサンプルコードと実行結果とともに解説します。
指定したキーの値を取得する
まずは、既存のキーに対してインデクサーでアクセスし、関連付けられた値を取得する例を見てみましょう。
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary strDict = new StringDictionary();
strDict.Add("A", "Books");
strDict.Add("B", "Electronics");
strDict.Add("C", "Appliances");
strDict.Add("D", "Pet Supplies");
strDict.Add("E", "Clothing");
strDict.Add("F", "Footwear");
Console.WriteLine("キーDに関連付けられた値 = " + strDict["D"]);
Console.WriteLine("キーFに関連付けられた値 = " + strDict["F"]);
}
}このプログラムを実行すると、次のような出力が得られます。
キーDに関連付けられた値 = Pet Supplies キーFに関連付けられた値 = Footwear
strDict["D"]のように、キーをインデクサーに渡すだけで、対応する値を取り出せます。存在しないキーを指定した場合はnullが返される点に注意してください。
指定したキーの値を設定(更新)する
インデクサーは値の取得だけでなく、既存のキーに関連付ける値を上書きすることもできます。次の例では、キー「F」の値を「Footwear」から「HDD」に更新しています。
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary strDict = new StringDictionary();
strDict.Add("A", "Books");
strDict.Add("B", "Electronics");
strDict.Add("C", "Appliances");
strDict.Add("D", "Pet Supplies");
strDict.Add("E", "Clothing");
strDict.Add("F", "Footwear");
Console.WriteLine("キーDに関連付けられた値 = " + strDict["D"]);
Console.WriteLine("キーFに関連付けられた値 = " + strDict["F"]);
// キーFの値を更新
strDict["F"] = "HDD";
Console.WriteLine("キーFに関連付けられた値(更新後) = " + strDict["F"]);
}
}実行結果は以下の通りです。
キーDに関連付けられた値 = Pet Supplies キーFに関連付けられた値 = Footwear キーFに関連付けられた値(更新後) = HDD
ポイントまとめ
- 値の取得:
strDict[キー]の形式で、指定したキーに関連付けられた値を取得できます。キーが存在しない場合はnullが返ります。 - 値の設定:
strDict[キー] = 値;の形式で、既存のキーの値を更新できます。キーが存在しない場合は、新しいエントリとして追加されます。 - 大文字小文字の扱い:
StringDictionaryは既定で大文字と小文字を区別しないため、「F」と「f」は同じキーとして扱われます。
このように、StringDictionaryのインデクサーを使えば、キーと値のペアに対する読み書きを直感的な記述で行えます。キーが文字列である辞書を扱う際には、ぜひ活用してみてください。
-
C#のListDictionaryで指定したキーに関連付けられた値を取得・設定する方法
C#のListDictionaryでは、インデクサー(Itemプロパティ)を使うことで、指定したキーに関連付けられた値を簡単に取得したり、新しい値に更新したりできます。ListDictionaryはSystem.Collections.Specialized名前空間に属するコレクションで、要素数が少ない場合(目安として10項目程度まで)に高いパフォーマンスを発揮する特徴があります。以下のコード例では、キー「C」に関連付けられた値の取得と更新の両方を確認できます。例1:キーに関連付けられた値を取得するusing System; using System.Collections; using Sy
-
C#のStringDictionaryでキーのコレクションを取得する方法
C#のStringDictionaryでキーのコレクションを取得する方法 StringDictionaryからキーのコレクションを取得するには、Keysプロパティを使用します。このプロパティは、ディクショナリに格納されているすべてのキーをICollectionオブジェクトとして返します。 さらに、CopyToメソッドを組み合わせれば、取得したキーのコレクションを文字列配列(String[])にコピーでき、インデックスを指定して個々のキーにアクセスすることも可能です。 以下では、実際のサンプルコードと実行結果をもとに、具体的な手順を解説します。 例1:Keysプロパティでキーの一覧を取得する u