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

C#のHashtable(ハッシュテーブル)で指定したキーの値を取得・設定する方法

C#のHashtableクラスでは、インデクサー([])を使うことで、指定したキーに関連付けられた値を簡単に取得したり、新しい値に更新したりできます。この記事では、その具体的な方法をサンプルコードと出力結果とともにわかりやすく解説します。

キーから値を取得する基本例

まずは、Hashtableに複数のキーと値のペアを追加し、特定のキーに対応する値を取得する基本的な例を見てみましょう。

using System;
using System.Collections;

public class Demo {
   public static void Main() {
      Hashtable hash = new Hashtable();
      hash.Add("1", "AB");
      hash.Add("2", "BC");
      hash.Add("3", "DE");
      hash.Add("4", "EF");
      hash.Add("5", "GH");
      hash.Add("6", "IJ");
      hash.Add("7", "KL");
      hash.Add("8", "MN");
      hash.Add("9", "OP");
      hash.Add("10", "QR");

      Console.WriteLine("Value at key 3 = " + hash["3"]);
   }
}

出力結果

Value at key 3 = DE

上記のコードでは、hash["3"]のようにインデクサーにキーを渡すだけで、そのキーに関連付けられた値「DE」を取得できています。Add()メソッドで登録したデータも、この方法で自由に参照可能です。

キーの値を更新する例

続いて、既存のキーに対して新しい値を設定(上書き)する例を見てみましょう。インデクサーに値を代入するだけで、指定したキーの値が更新されます。

using System;
using System.Collections;

public class Demo {
   public static void Main() {
      Hashtable hash = new Hashtable();
      hash.Add("1", "AB");
      hash.Add("2", "BC");
      hash.Add("3", "DE");
      hash.Add("4", "EF");
      hash.Add("5", "GH");
      hash.Add("6", "IJ");
      hash.Add("7", "KL");
      hash.Add("8", "MN");
      hash.Add("9", "OP");
      hash.Add("10", "QR");

      Console.WriteLine("Value at key 3 = " + hash["3"]);

      // キー3の値を更新
      hash["3"] = "UV";

      Console.WriteLine("Value at key 3 (UPDATED) = " + hash["3"]);
   }
}

出力結果

Value at key 3 = DE
Value at key 3 (UPDATED) = UV

実行結果から、hash["3"] = "UV";という1行の代入処理だけで、キー3の値が「DE」から「UV」に正しく更新されたことが確認できます。

押さえておきたいポイント

  • 値の取得hash["キー"] のようにインデクサーを使って読み取ります。
  • 値の設定・更新hash["キー"] = 値 と代入するだけで、既存キーの値が上書きされます。
  • 存在しないキーの場合:取得時は null が返され、代入時は新しいキーとして自動的に追加されます。
  • Add()との違いAdd()メソッドで既存のキーを追加しようとすると ArgumentException が発生しますが、インデクサーによる代入なら安全に上書きできるため、更新処理にはインデクサーが便利です。
  1. C#でHashtable(ハッシュテーブル)に特定の値が含まれているか確認する方法

    C#のHashtableに特定の値(Value)が含まれているかどうかを確認するには、ContainsValueメソッドを使用します。このメソッドは、指定した値がHashtable内に存在する場合はtrue、存在しない場合はfalseを返します。以下に具体的なコード例を示します。サンプルコード1using System; using System.Collections; public class Demo { public static void Main(){ Hashtable hash = new Hashtable(); hash.Add(1, A);

  2. C#でのHashtableとDictionaryの使い方徹底解説:基本操作からサンプルコードまで

    C#では、キーと値のペアを扱うコレクションとして「Hashtable」と「Dictionary」がよく使われます。どちらもキーを基準に要素へ高速にアクセスできる便利なクラスですが、それぞれ特徴や使い方が異なります。この記事では、両者の主なメソッドと実際のコード例を通じて、基本的な操作方法をわかりやすく解説します。 Hashtable(ハッシュテーブル)とは Hashtable クラスは、キーのハッシュコードに基づいて整理された、キーと値のペアのコレクションを表します。格納された要素には、キーを使ってアクセスします。非ジェネリック型のため、キー・値ともに object 型として扱われる点が