Hashtable.ContainsValue(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Hashtable に特定の値が格納されているかどうかを判断します。
public:
virtual bool ContainsValue(System::Object ^ value);
public virtual bool ContainsValue (object value);
public virtual bool ContainsValue (object? value);
abstract member ContainsValue : obj -> bool
override this.ContainsValue : obj -> bool
Public Overridable Function ContainsValue (value As Object) As Boolean
パラメーター
戻り値
指定した true
を持つ要素が Hashtable に含まれている場合は value
。それ以外の場合は false
。
例
次の例では、 に特定の要素が 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.
注釈
の要素 Hashtable の値は、 メソッドを使用して Object.Equals 指定された値と比較されます。
このメソッドは線形検索を実行します。したがって、このメソッドは 操作です O(n)
。ここで n
、 は Countです。
.NET Framework 2.0 以降では、このメソッドは コレクションの オブジェクトEqualsと CompareTo メソッドをitem
使用して、項目が存在するかどうかを判断します。 以前のバージョンの.NET Frameworkでは、この決定は、コレクション内のオブジェクトの パラメーターの item
メソッドと CompareTo メソッドを使用Equalsして行われました。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET