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