次の方法で共有


StringDictionary.ContainsValue メソッド

StringDictionary に特定の値が格納されているかどうかを確認します。

Public Overridable Function ContainsValue( _
   ByVal value As String _) As Boolean
[C#]
public virtual bool ContainsValue(stringvalue);
[C++]
public: virtual bool ContainsValue(String* value);
[JScript]
public function ContainsValue(
   value : String) : Boolean;

パラメータ

  • value
    StringDictionary 内で検索される値。値は null 参照 (Visual Basic では Nothing) に設定できます。

戻り値

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

解説

StringDictionary の要素の値は、 Object.Equals メソッドを使用して、指定した値と比較されます。

このメソッドはリニア サーチを実行します。したがって、平均検索時間は Count に比例します。つまり、このメソッドは O(n) 操作です。ここで、 nCount です。

使用例

[Visual Basic, C#, C++] StringDictionary の要素を検索する例を次に示します。

 
Imports System
Imports System.Collections
Imports System.Collections.Specialized

Public Class SamplesStringDictionary   

   Public Shared Sub Main()

      ' Creates and initializes a new StringDictionary.
      Dim myCol As New StringDictionary()
      myCol.Add("red", "rojo")
      myCol.Add("green", "verde")
      myCol.Add("blue", "azul")

      ' Displays the values in the StringDictionary.
      Console.WriteLine("Initial contents of the StringDictionary:")
      PrintKeysAndValues(myCol)

      ' Searches for a key.
      If myCol.ContainsKey("red") Then
         Console.WriteLine("The collection contains the key ""red"".")
      Else
         Console.WriteLine("The collection does not contain the key ""red"".")
      End If
      Console.WriteLine()

      ' Searches for a value.
      If myCol.ContainsValue("amarillo") Then
         Console.WriteLine("The collection contains the value ""amarillo"".")
      Else
         Console.WriteLine("The collection does not contain the value ""amarillo"".")
      End If
      Console.WriteLine()

   End Sub 'Main

   Public Shared Sub PrintKeysAndValues(myCol As StringDictionary)
      Dim de As DictionaryEntry

      Console.WriteLine("   KEY        VALUE")
      For Each de In  myCol
         Console.WriteLine("   {0,-10} {1}", de.Key, de.Value)
      Next de
      Console.WriteLine()

   End Sub 'PrintKeysAndValues

End Class 'SamplesStringDictionary 


'This code produces the following output.
'
'Initial contents of the StringDictionary:
'   KEY        VALUE
'   green      verde
'   red        rojo
'   blue       azul
'
'The collection contains the key "red".
'
'The collection does not contain the value "amarillo".


[C#] 
using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesStringDictionary  {

   public static void Main()  {

      // Creates and initializes a new StringDictionary.
      StringDictionary myCol = new StringDictionary();
      myCol.Add( "red", "rojo" );
      myCol.Add( "green", "verde" );
      myCol.Add( "blue", "azul" );

      // Displays the values in the StringDictionary.
      Console.WriteLine( "Initial contents of the StringDictionary:" );
      PrintKeysAndValues( myCol );

      // Searches for a key.
      if ( myCol.ContainsKey( "red" ) )
         Console.WriteLine( "The collection contains the key \"red\"." );
      else
         Console.WriteLine( "The collection does not contain the key \"red\"." );
      Console.WriteLine();

      // Searches for a value.
      if ( myCol.ContainsValue( "amarillo" ) )
         Console.WriteLine( "The collection contains the value \"amarillo\"." );
      else
         Console.WriteLine( "The collection does not contain the value \"amarillo\"." );
      Console.WriteLine();

   }

   public static void PrintKeysAndValues( StringDictionary myCol )  {
      Console.WriteLine( "   KEY        VALUE" );
      foreach ( DictionaryEntry de in myCol )
         Console.WriteLine( "   {0,-10} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

}

/*
This code produces the following output.

Initial contents of the StringDictionary:
   KEY        VALUE
   green      verde
   red        rojo
   blue       azul

The collection contains the key "red".

The collection does not contain the value "amarillo".

*/

[C++] 
#using <mscorlib.dll>
#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues( StringDictionary* myCol )  {
   Console::WriteLine( S"   KEY        VALUE" );
   IEnumerator* enum0 = myCol->GetEnumerator();
   while (enum0->MoveNext())
   {
      DictionaryEntry* de = __try_cast<DictionaryEntry*>(enum0->Current);
      Console::WriteLine( S"   {0,-10} {1}", de->Key, de->Value );
   }
   Console::WriteLine();
}

int main()  {

   // Creates and initializes a new StringDictionary.
   StringDictionary* myCol = new StringDictionary();
   myCol->Add( S"red", S"rojo" );
   myCol->Add( S"green", S"verde" );
   myCol->Add( S"blue", S"azul" );

   // Displays the values in the StringDictionary.
   Console::WriteLine( S"Initial contents of the StringDictionary:" );
   PrintKeysAndValues( myCol );

   // Searches for a key.
   if ( myCol->ContainsKey( S"red" ) )
      Console::WriteLine( S"The collection contains the key \"red\"." );
   else
      Console::WriteLine( S"The collection does not contain the key \"red\"." );
   Console::WriteLine();

   // Searches for a value.
   if ( myCol->ContainsValue( S"amarillo" ) )
      Console::WriteLine( S"The collection contains the value \"amarillo\"." );
   else
      Console::WriteLine( S"The collection does not contain the value \"amarillo\"." );
   Console::WriteLine();

}

/*
This code produces the following output.

Initial contents of the StringDictionary:
   KEY        VALUE
   green      verde
   red        rojo
   blue       azul

The collection contains the key "red".

The collection does not contain the value "amarillo".

*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

StringDictionary クラス | StringDictionary メンバ | System.Collections.Specialized 名前空間 | カルチャを認識しない文字列操作の実行