StringDictionary.ContainsKey(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定 StringDictionary 是否包含特定键。
public:
virtual bool ContainsKey(System::String ^ key);
public virtual bool ContainsKey (string key);
abstract member ContainsKey : string -> bool
override this.ContainsKey : string -> bool
Public Overridable Function ContainsKey (key As String) As Boolean
参数
- key
- String
要在 StringDictionary 中定位的键。
返回
如果 StringDictionary 包含具有指定键的项,则为 true
;否则为 false
。
例外
键为 null
。
示例
下面的代码示例在 中 StringDictionary搜索 元素。
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void PrintKeysAndValues( StringDictionary^ myCol )
{
Console::WriteLine( " KEY VALUE" );
IEnumerator^ enum0 = myCol->GetEnumerator();
while ( enum0->MoveNext() )
{
DictionaryEntry^ de = safe_cast<DictionaryEntry^>(enum0->Current);
Console::WriteLine( " {0,-10} {1}", de->Key, de->Value );
}
Console::WriteLine();
}
int main()
{
// Creates and initializes a new StringDictionary.
StringDictionary^ myCol = gcnew 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();
}
/*
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".
*/
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".
*/
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
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
End Class
'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".
注解
以不区分大小写的方式处理密钥;在使用它之前,它将被转换为小写。
此方法是 O (1) 操作。
从 .NET Framework 2.0 开始,此方法使用集合的对象 Equals 和 CompareTo 方法item
来确定是否存在item
。 在早期版本的.NET Framework中,此确定是通过对集合中的 对象使用 Equals 参数的 item
和 CompareTo 方法进行的。