C# では、Hashtable (ハッシュ テーブル) クラスは、キーのハッシュ コードに従って編成されたキー (キー)/値 (値) のペアのコレクションを表し、キーを使用してコレクション内の要素にアクセスできます。つまり、キーを使用して特定の要素にアクセスする必要がある場合、ハッシュ テーブルの使用を選択できます。
Hashtable クラスのプロパティ
次の表に、Hashtable クラスで一般的に使用されるプロパティをいくつか示します。
属性 | 説明 |
---|---|
Count | ハッシュ テーブルに含まれるキーと値のペアの数を取得します。 |
IsFixedSize | ハッシュテーブルが固定サイズかどうかを示す値を取得します |
IsReadOnly | ハッシュ テーブルが読み取り専用かどうかを示す値を取得します |
Item | 指定されたキーに関連付けられた値を取得または設定します |
Keys | ハッシュ テーブル内のキーを含む ICollection を取得します。 |
Values | ハッシュテーブル内の値を含む ICollection を取得します |
Hashtable クラスのメソッド
Hashtable クラスで一般的に使用されるメソッドの一部を次の表に示します。
メソッド名 | 説明 |
---|---|
public virtual void Add(object key, object value) | 指定されたキーと値を持つ要素をハッシュ テーブルに追加します |
public virtual void Clear() | ハッシュテーブルからすべての要素を削除します |
public virtual bool ContainsKey(object key) | ハッシュ テーブルに指定されたキーが含まれているかどうかを確認します。 |
public virtual bool ContainsValue(object value) | ハッシュ テーブルに指定された値が含まれているかどうかを確認します。 |
public virtual void Remove(object key) | 指定されたキーを持つ要素をハッシュ テーブルから削除します |
Hashtable クラスのプロパティとメソッドの詳細については、 C# の公式ドキュメントを参照してください。
[例] Hashtable クラスのプロパティとメソッドの使用例を次の例に示します。
using System;
using System.Collections;
namespace it-kiso.com
{
class Demo
{
static void Main(string[] args){
Hashtable ht = new Hashtable();
ht.Add("001", "A");
ht.Add("002", "B");
ht.Add("003", "C");
if (ht.ContainsValue("D")){
Console.WriteLine("該当する学生の名前は既に存在します。");
}else{
ht.Add("004", "D");
}
// キーのコレクションを取得
ICollection key = ht.Keys;
foreach (string k in key){
Console.WriteLine(k + ": " + ht[k]);
}
Console.ReadKey();
}
}
}
操作の結果は次のようになります。
004: D
002: B
003: C
001: A
「C# ハッシュテーブル: ハッシュ テーブル」についてわかりやすく解説!絶対に観るべきベスト2動画
C# データ構造とアルゴリズム: ハッシュ テーブルの実装 | packtpub.com
C# のハッシュ テーブル – 使用方法と使用時期