Hashtable.Contains(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Hashtable に特定のキーが格納されているかどうかを判断します。
public:
virtual bool Contains(System::Object ^ key);
public virtual bool Contains (object key);
abstract member Contains : obj -> bool
override this.Contains : obj -> bool
Public Overridable Function Contains (key As Object) As Boolean
パラメーター
戻り値
指定したキーを持つ要素が true
に格納されている場合は Hashtable。それ以外の場合は false
。
実装
例外
key
が null
です。
例
次の例では、 に特定の要素が Hashtable 含まれているかどうかを確認する方法を示します。
using namespace System;
using namespace System::Collections;
void PrintIndexAndKeysAndValues( Hashtable^ myHT );
int main()
{
// Creates and initializes a new Hashtable.
Hashtable^ myHT = gcnew Hashtable;
myHT->Add( (int^)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 ) ? (String^)"in the Hashtable" : "NOT in the Hashtable" );
myKey = 6;
Console::WriteLine( "The key \"{0}\" is {1}.", myKey, myHT->ContainsKey( myKey ) ? (String^)"in the Hashtable" : "NOT in the Hashtable" );
// Searches for a specific value.
String^ myValue = "three";
Console::WriteLine( "The value \"{0}\" is {1}.", myValue, myHT->ContainsValue( myValue ) ? (String^)"in the Hashtable" : "NOT in the Hashtable" );
myValue = "nine";
Console::WriteLine( "The value \"{0}\" is {1}.", myValue, myHT->ContainsValue( myValue ) ? (String^)"in the Hashtable" : "NOT in the Hashtable" );
}
void PrintIndexAndKeysAndValues( Hashtable^ myHT )
{
int i = 0;
Console::WriteLine( "\t-INDEX-\t-KEY-\t-VALUE-" );
IEnumerator^ myEnum = myHT->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry de = *safe_cast<DictionaryEntry ^>(myEnum->Current);
Console::WriteLine( "\t[{0}]:\t{1}\t{2}", i++, de.Key, 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.
*/
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.
*/
Imports System.Collections
Public Class SamplesHashtable
Public Shared Sub Main()
' Creates and initializes a new Hashtable.
Dim myHT As 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.
Dim myKey As Integer = 2
Console.Write($"The key ""{myKey}"" is ")
If (myHT.ContainsKey(myKey))
Console.WriteLine("in the Hashtable.")
Else
Console.WriteLine("NOT in the Hashtable.")
End If
myKey = 6
Console.Write($"The key ""{myKey}"" is ")
If (myHT.ContainsKey(myKey))
Console.WriteLine(" in the Hashtable.")
Else
Console.WriteLine(" NOT in the Hashtable.")
End If
' Searches for a specific value.
Dim myValue As String = "three"
Console.Write("The value ""{0}"" is ", myValue)
If (myHT.ContainsValue(myValue))
Console.WriteLine(" in the Hashtable.")
Else
Console.WriteLine(" NOT in the Hashtable.")
End If
myValue = "nine"
Console.Write($"The value ""{myValue}"" is ")
If (myHT.ContainsValue(myValue))
Console.WriteLine(" in the Hashtable.")
Else
Console.WriteLine(" NOT in the Hashtable.")
End If
End Sub
Public Shared Sub PrintIndexAndKeysAndValues(myHT As Hashtable)
Dim i As Integer = 0
Console.WriteLine(vbTab + "-INDEX-" + vbTab + "-KEY-" + vbTab + "-VALUE-")
For Each de As DictionaryEntry In myHT
Console.WriteLine(vbTab + "[{0}]:" + vbTab + "{1}" + vbTab + "{2}", i, de.Key, de.Value)
i += 1
Next
Console.WriteLine()
End Sub
End Class
' 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 は、IDictionary.Contains を実装します。 とまったく同じように ContainsKey動作します。
このメソッドは操作です O(1)
。
.NET Framework 2.0 以降では、このメソッドは コレクションの オブジェクトEqualsと CompareTo メソッドをitem
使用して、項目が存在するかどうかを判断します。 以前のバージョンの.NET Frameworkでは、この決定は、コレクション内のオブジェクトの パラメーターの item
メソッドと CompareTo メソッドを使用Equalsして行われました。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET