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

C#のContainsKey()メソッドとは?Hashtableでキーの存在を確認する方法

C#のContainsKey()メソッドは、Hashtableコレクション内に指定したキーが存在するかどうかを確認するための便利なメソッドです。キーが存在する場合はTrue、存在しない場合はFalseを返します。

ContainsKey()メソッドの基本的な使い方

まず、Hashtableコレクションを作成し、いくつかの要素を追加してみましょう。

Hashtable h = new Hashtable();
h.Add(1, "Sam");
h.Add(2, "Jack");
h.Add(3, "Andy");
h.Add(4, "Katie");
h.Add(5, "Beth");
h.Add(6, "Benjamin");

次に、ContainsKey()メソッドを使って、特定のキーがHashtable内に存在するかどうかを確認します。ここでは例として、キー「3」の存在をチェックしてみます。キーが見つかった場合、戻り値としてTrueが返されます。

h.ContainsKey(3);

サンプルコード

以下は、ContainsKey()メソッドの実際の使用例です。Hashtableに格納されたすべてのキーと値を表示した後、キー「3」が存在するかどうかを確認しています。

using System;
using System.Collections;
public class Demo {
    public static void Main() {
        Hashtable h = new Hashtable();
        h.Add(1, "Sam");
        h.Add(2, "Jack");
        h.Add(3, "Andy");
        h.Add(4, "Katie");
        h.Add(5, "Beth");
        h.Add(6, "Benjamin");
        Console.WriteLine("Keys and Values list:");
        foreach (var key in h.Keys ) {
            Console.WriteLine("Key = {0}, Value = {1}",key , h[key]);
        }
        Console.WriteLine("Does the specified key exist? "+h.ContainsKey(3));
    }
}

実行結果

Keys and Values list:
Key = 6, Value = Benjamin
Key = 5, Value = Beth
Key = 4, Value = Katie
Key = 3, Value = Andy
Key = 2, Value = Jack
Key = 1, Value = Sam
Does the specified key exist? True

ポイントまとめ

  • ContainsKey()メソッドは、Hashtable内のキーの有無を高速に判定できる(計算量はほぼO(1))。
  • 戻り値はbool型で、キーが存在すればtrue、存在しなければfalseとなる。
  • 値ではなくキーを検索対象とするため、値の存在確認には別途ContainsValue()メソッドを使用する。

このように、ContainsKey()メソッドを活用することで、キーの重複登録を防いだり、安全にデータへアクセスしたりすることが可能になります。Hashtableを扱う際にはぜひ活用してみてください。

  1. C#のCompareTo()メソッドの使い方を解説

    C#では、2つの値を比較する際にCompareTo()メソッドを使用します。このメソッドは、呼び出し元の値と引数で渡した値を比較し、その大小関係を整数値として返します。CompareTo()メソッドの戻り値CompareTo()メソッドの戻り値は以下の3パターンです。0 = 両方の値が等しい場合1 = 呼び出し元の値が引数の値より大きい場合(第2の数値が小さい)-1 = 呼び出し元の値が引数の値より小さい場合(第1の数値が小さい)CompareTo()メソッドの実装例それでは、C#でCompareTo()メソッドを実装するサンプルコードを見てみましょう。ここでは、同じ値を持つ2つのint型変数

  2. RubyのArray#zipメソッド徹底解説!2つの配列をスマートに結合する方法

    2つの配列を要素ごとに比較して、その違いを見つけたいと思ったことはありませんか? あるいは、各インデックスごとに最大の数値を求めたい、キーのリストと値のリストを組み合わせてハッシュを作りたい――そんな場面にも出会うことがあるでしょう。 …これを「面倒な方法」で実装すると、次のようなコードになります。 例:冗長な書き方 a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] 確かに動作はしますが