SortedList.ContainsKey(Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, содержит ли объект SortedList указанный ключ.
public:
virtual bool ContainsKey(System::Object ^ key);
public virtual bool ContainsKey (object key);
abstract member ContainsKey : obj -> bool
override this.ContainsKey : obj -> bool
Public Overridable Function ContainsKey (key As Object) As Boolean
Параметры
- key
- Object
Ключ для размещения в объекте SortedList.
Возвращаемое значение
Значение true
, если объект SortedList содержит элемент с указанным значением параметра key
; в противном случае — false
.
Исключения
key
имеет значение null
.
Средство сравнения выдает исключение.
Примеры
В следующем примере кода показано, как определить, содержит ли SortedList объект определенный элемент.
#using <system.dll>
using namespace System;
using namespace System::Collections;
void PrintIndexAndKeysAndValues( SortedList^ myList )
{
Console::WriteLine( "\t-INDEX-\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList->Count; i++ )
{
Console::WriteLine( "\t[{0}]:\t{1}\t{2}", i, myList->GetKey( i ), myList->GetByIndex( i ) );
}
Console::WriteLine();
}
int main()
{
// Creates and initializes a new SortedList.
SortedList^ mySL = gcnew SortedList;
mySL->Add( 2, "two" );
mySL->Add( 4, "four" );
mySL->Add( 1, "one" );
mySL->Add( 3, "three" );
mySL->Add( (int^)0, "zero" );
// Displays the values of the SortedList.
Console::WriteLine( "The SortedList contains the following values:" );
PrintIndexAndKeysAndValues( mySL );
// Searches for a specific key.
int myKey = 2;
Console::WriteLine( "The key \"{0}\" is {1}.", myKey, mySL->ContainsKey( myKey ) ? (String^)"in the SortedList" : "NOT in the SortedList" );
myKey = 6;
Console::WriteLine( "The key \"{0}\" is {1}.", myKey, mySL->ContainsKey( myKey ) ? (String^)"in the SortedList" : "NOT in the SortedList" );
// Searches for a specific value.
String^ myValue = "three";
Console::WriteLine( "The value \"{0}\" is {1}.", myValue, mySL->ContainsValue( myValue ) ? (String^)"in the SortedList" : "NOT in the SortedList" );
myValue = "nine";
Console::WriteLine( "The value \"{0}\" is {1}.", myValue, mySL->ContainsValue( myValue ) ? (String^)"in the SortedList" : "NOT in the SortedList" );
}
/*
This code produces the following output.
The SortedList contains the following values:
-INDEX- -KEY- -VALUE-
[0]: 0 zero
[1]: 1 one
[2]: 2 two
[3]: 3 three
[4]: 4 four
The key "2" is in the SortedList.
The key "6" is NOT in the SortedList.
The value "three" is in the SortedList.
The value "nine" is NOT in the SortedList.
*/
using System;
using System.Collections;
public class SamplesSortedList {
public static void Main() {
// Creates and initializes a new SortedList.
SortedList mySL = new SortedList();
mySL.Add( 2, "two" );
mySL.Add( 4, "four" );
mySL.Add( 1, "one" );
mySL.Add( 3, "three" );
mySL.Add( 0, "zero" );
// Displays the values of the SortedList.
Console.WriteLine( "The SortedList contains the following values:" );
PrintIndexAndKeysAndValues( mySL );
// Searches for a specific key.
int myKey = 2;
Console.WriteLine( "The key \"{0}\" is {1}.", myKey, mySL.ContainsKey( myKey ) ? "in the SortedList" : "NOT in the SortedList" );
myKey = 6;
Console.WriteLine( "The key \"{0}\" is {1}.", myKey, mySL.ContainsKey( myKey ) ? "in the SortedList" : "NOT in the SortedList" );
// Searches for a specific value.
string myValue = "three";
Console.WriteLine( "The value \"{0}\" is {1}.", myValue, mySL.ContainsValue( myValue ) ? "in the SortedList" : "NOT in the SortedList" );
myValue = "nine";
Console.WriteLine( "The value \"{0}\" is {1}.", myValue, mySL.ContainsValue( myValue ) ? "in the SortedList" : "NOT in the SortedList" );
}
public static void PrintIndexAndKeysAndValues( SortedList myList ) {
Console.WriteLine( "\t-INDEX-\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList.Count; i++ ) {
Console.WriteLine( "\t[{0}]:\t{1}\t{2}", i, myList.GetKey(i), myList.GetByIndex(i) );
}
Console.WriteLine();
}
}
/*
This code produces the following output.
The SortedList contains the following values:
-INDEX- -KEY- -VALUE-
[0]: 0 zero
[1]: 1 one
[2]: 2 two
[3]: 3 three
[4]: 4 four
The key "2" is in the SortedList.
The key "6" is NOT in the SortedList.
The value "three" is in the SortedList.
The value "nine" is NOT in the SortedList.
*/
Imports System.Collections
Public Class SamplesSortedList
Public Shared Sub Main()
' Creates and initializes a new SortedList.
Dim mySL As New SortedList()
mySL.Add(2, "two")
mySL.Add(4, "four")
mySL.Add(1, "one")
mySL.Add(3, "three")
mySL.Add(0, "zero")
' Displays the values of the SortedList.
Console.WriteLine("The SortedList contains the following values:")
PrintIndexAndKeysAndValues(mySL)
' Searches for a specific key.
Dim myKey As Integer = 2
Dim msg As String
If mySL.ContainsKey(myKey) Then
msg = "in the SortedList"
Else
msg = "NOT in the SortedList"
End If
Console.WriteLine("The key ""{0}"" is {1}.", myKey, msg)
myKey = 6
If mySL.ContainsKey(myKey) Then
msg = "in the SortedList"
Else
msg = "NOT in the SortedList"
End If
Console.WriteLine("The key ""{0}"" is {1}.", myKey, msg)
' Searches for a specific value.
Dim myValue As String = "three"
If mySL.ContainsValue(myValue) Then
msg = "in the SortedList"
Else
msg = "NOT in the SortedList"
End If
Console.WriteLine("The value ""{0}"" is {1}.", myValue, msg)
myValue = "nine"
If mySL.ContainsValue(myValue) Then
msg = "in the SortedList"
Else
msg = "NOT in the SortedList"
End If
Console.WriteLine("The value ""{0}"" is {1}.", myValue, msg)
End Sub
Public Shared Sub PrintIndexAndKeysAndValues(myList As SortedList)
Console.WriteLine(ControlChars.Tab & "-INDEX-" & ControlChars.Tab & _
"-KEY-" & ControlChars.Tab & "-VALUE-")
Dim i As Integer
For i = 0 To myList.Count - 1
Console.WriteLine(ControlChars.Tab & "[{0}]:" & ControlChars.Tab & _
"{1}" & ControlChars.Tab & "{2}", i, myList.GetKey(i), _
myList.GetByIndex(i))
Next i
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' The SortedList contains the following values:
' -INDEX- -KEY- -VALUE-
' [0]: 0 zero
' [1]: 1 one
' [2]: 2 two
' [3]: 3 three
' [4]: 4 four
'
' The key "2" is in the SortedList.
' The key "6" is NOT in the SortedList.
' The value "three" is in the SortedList.
' The value "nine" is NOT in the SortedList.
Комментарии
Элементы SortedList объекта сортируются по ключам либо в соответствии с конкретной IComparer реализацией, указанной SortedList при создании , либо по IComparable реализации, предоставленной самими ключами.
Этот метод ведет себя точно так же, как Contains метод .
Этот метод использует алгоритм двоичного поиска; Поэтому этот метод является операцией O(log n)
, где n
— Count.
Начиная с платформа .NET Framework 2.0, этот метод использует методы объектов Equals коллекции и CompareTo , item
чтобы определить, существует ли элемент. В более ранних версиях платформа .NET Framework это определение было сделано с помощью Equals методов item
и CompareTo параметра для объектов в коллекции.