SortedList.ContainsKey(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷 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 物件中尋找的索引鍵。
傳回
如果 SortedList 物件包含的元素有指定的 key
,則為 true
,否則為 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會根據建立 時SortedList指定的特定實作,或根據IComparable索引鍵本身所提供的實作,依索引鍵本身所指定的特定IComparer實作排序。
這個方法的行為與方法完全相同 Contains 。
這個方法使用二進位搜尋演算法;因此,這個方法是 O(log n)
作業,其中 n
是 Count。
從 .NET Framework 2.0 開始,這個方法會使用 集合的物件 Equals 和 CompareTo 方法item
來判斷專案是否存在。 在舊版的 .NET Framework 中,此判斷是使用 Equals 集合中物件上的 和 CompareTo 方法item
進行。