Hashtable.ContainsKey(Object) メソッド

定義

Hashtable に特定のキーが格納されているかどうかを判断します。

public virtual bool ContainsKey (object key);

パラメーター

key
Object

Hashtable 内で検索されるキー。

戻り値

指定したキーを持つ要素が true に格納されている場合は Hashtable。それ以外の場合は false

例外

keynullです。

次の例は、 に特定の要素が Hashtable 含まれているかどうかを判断する方法を示しています。

using System;
using System.Collections;
public class SamplesHashtable
{

   public static void Main()
   {
      // Creates and initializes a new Hashtable.
      var myHT = new Hashtable();
      myHT.Add(0, "zero");
      myHT.Add(1, "one");
      myHT.Add(2, "two");
      myHT.Add(3, "three");
      myHT.Add(4, "four");

      // Displays the values of the Hashtable.
      Console.WriteLine("The Hashtable contains the following values:");
      PrintIndexAndKeysAndValues(myHT);

      // Searches for a specific key.
      int myKey = 2;
      Console.WriteLine("The key \"{0}\" is {1}.", myKey, myHT.ContainsKey(myKey) ? "in the Hashtable" : "NOT in the Hashtable");
      myKey = 6;
      Console.WriteLine("The key \"{0}\" is {1}.", myKey, myHT.ContainsKey(myKey) ? "in the Hashtable" : "NOT in the Hashtable");

      // Searches for a specific value.
      var myValue = "three";
      Console.WriteLine("The value \"{0}\" is {1}.", myValue, myHT.ContainsValue( myValue ) ? "in the Hashtable" : "NOT in the Hashtable");
      myValue = "nine";
      Console.WriteLine("The value \"{0}\" is {1}.", myValue, myHT.ContainsValue( myValue ) ? "in the Hashtable" : "NOT in the Hashtable");
   }

   public static void PrintIndexAndKeysAndValues(Hashtable myHT)
   {
      int i = 0;
      Console.WriteLine("\t-INDEX-\t-KEY-\t-VALUE-");
      foreach (DictionaryEntry de in myHT)
         Console.WriteLine($"\t[{i++}]:\t{de.Key}\t{de.Value}");
      Console.WriteLine();
   }
}


/*
This code produces the following output.

The Hashtable contains the following values:
        -INDEX- -KEY-   -VALUE-
        [0]:    4       four
        [1]:    3       three
        [2]:    2       two
        [3]:    1       one
        [4]:    0       zero

The key "2" is in the Hashtable.
The key "6" is NOT in the Hashtable.
The value "three" is in the Hashtable.
The value "nine" is NOT in the Hashtable.

*/

注釈

このメソッドは とまったく同じように Contains動作します。

このメソッドは操作です O(1)

.NET Framework 2.0 以降では、このメソッドは コレクションの オブジェクト EqualsCompareTo メソッドをitem使用して、項目が存在するかどうかを判断します。 以前のバージョンの.NET Frameworkでは、この決定は、コレクション内の オブジェクトで パラメーターの item メソッドと CompareTo メソッドを使用Equalsして行われました。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

こちらもご覧ください