C#
 Computer >> コンピューター >  >> プログラミング >> C#

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 が返る点には注意してください。

  1. C#のStringDictionaryに特定の値が含まれているかどうかを確認する方法

    C#のStringDictionaryに特定の値(Value)が含まれているかどうかを確認するには、ContainsValue()メソッドを使用します。このメソッドは、指定した値がディクショナリ内に存在する場合は true、存在しない場合は false を返します。また、特定のキー(Key)の存在を確認したい場合は ContainsKey() メソッドを使います。以下のサンプルコードでは、これらのメソッドの基本的な使い方を紹介します。例1:ContainsValue()で値の存在を確認するまずは、複数のキーと値を持つStringDictionaryを作成し、ContainsKey()とCont

  2. 【C#】StringDictionaryに特定のキーが存在するかどうかをContainsKeyで確認する方法

    C#の StringDictionary クラスにおいて、特定のキーがコレクション内に存在するかどうかを確認するには、ContainsKey() メソッドを使用します。このメソッドは、指定したキーが存在すれば true、存在しなければ false を返します。ContainsKeyメソッドの基本構文public virtual bool ContainsKey(string key);key: 存在を確認したいキー(文字列)を指定します。戻り値: キーが見つかった場合は true、見つからない場合は false。なお、StringDictionary のキーは大文字・小文字を区別せず、内部的に