SortedList.ContainsKey メソッド
アセンブリ: System (system.dll 内)

Dim instance As SortedList(Of TKey, TValue) Dim key As TKey Dim returnValue As Boolean returnValue = instance.ContainsKey(key)
戻り値
指定したキーを持つ要素が SortedList に格納されている場合は true。それ以外の場合は false。



Add メソッドを呼び出す前に、ContainsKey メソッドを使用して、キーが存在するかどうかをテストする方法を次のコード例に示します。また、TryGetValue メソッドを使用して値を取得する方法も示します。これは、プログラムが並べ替えられたリストにないキー値を頻繁に試行する場合に、効率的な方法です。最後に、この例では、Item プロパティ (C# ではインデクサ) を使用して、キーが存在するかどうかをテストする最も効率の悪い方法も示します。
このコード例は、SortedList クラスのトピックで取り上げているコード例の一部分です。
' ContainsKey can be used to test keys before inserting ' them. If Not openWith.ContainsKey("ht") Then openWith.Add("ht", "hypertrm.exe") Console.WriteLine("Value added for key = ""ht"": {0}", _ openWith("ht")) End If <br /><span space="preserve">...</span><br /> ' When a program often has to try keys that turn out not to ' be in the list, TryGetValue can be a more efficient ' way to retrieve values. Dim value As String = "" If openWith.TryGetValue("tif", value) Then Console.WriteLine("For key = ""tif"", value = {0}.", value) Else Console.WriteLine("Key = ""tif"" is not found.") End If <br /><span space="preserve">...</span><br /> ' The default Item property throws an exception if the requested ' key is not in the list. Try Console.WriteLine("For key = ""tif"", value = {0}.", _ openWith("tif")) Catch Console.WriteLine("Key = ""tif"" is not found.") End Try
// ContainsKey can be used to test keys before inserting // them. if (!openWith.ContainsKey("ht")) { openWith.Add("ht", "hypertrm.exe"); Console.WriteLine("Value added for key = \"ht\": {0}", openWith["ht"]); } <br /><span space="preserve">...</span><br /> // When a program often has to try keys that turn out not to // be in the list, TryGetValue can be a more efficient // way to retrieve values. string value = ""; if (openWith.TryGetValue("tif", out value)) { Console.WriteLine("For key = \"tif\", value = {0}.", value); } else { Console.WriteLine("Key = \"tif\" is not found."); } <br /><span space="preserve">...</span><br /> // The indexer throws an exception if the requested key is // not in the list. try { Console.WriteLine("For key = \"tif\", value = {0}.", openWith["tif"]); } catch (KeyNotFoundException) { Console.WriteLine("Key = \"tif\" is not found."); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SortedList.ContainsKey メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As SortedList Dim key As Object Dim returnValue As Boolean returnValue = instance.ContainsKey(key)
戻り値
指定した key を持つ要素が SortedList に格納されている場合は true。それ以外の場合は false。


SortedList の要素は、SortedList が作成されるときに指定された IComparer の特定の実装か、キー自体が提供する IComparable 実装のいずれかに従って並べ替えられます。
このメソッドは、Contains とまったく同じ動作をします。
このメソッドはバイナリ検索アルゴリズムを実行します。したがって、このメソッドは、O(log n) 操作です。ここで、n は Count です。

SortedList に特定の要素が格納されているかどうかを判断する方法の例を次に示します。
Imports System Imports System.Collections Imports Microsoft.VisualBasic 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.
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. */
#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. */
import System.*; import System.Collections.*; public class SamplesSortedList { public static void main(String[] args) { // Creates and initializes a new SortedList. SortedList mySL = new SortedList(); mySL.Add((Int32)2, "two"); mySL.Add((Int32)4, "four"); mySL.Add((Int32)1, "one"); mySL.Add((Int32)3, "three"); mySL.Add((Int32)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}.", System.Convert.ToString(myKey), (mySL.ContainsKey((Int32)myKey)) ? "in the SortedList" : "NOT in the SortedList"); myKey = 6; Console.WriteLine("The key \"{0}\" is {1}.", System.Convert.ToString(myKey), (mySL.ContainsKey((Int32)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"); } //main public static void PrintIndexAndKeysAndValues(SortedList myList) { Console.WriteLine("\t-INDEX-\t-KEY-\t-VALUE-"); for (int i = 0; i < myList.get_Count(); i++) { Console.WriteLine("\t[{0}]:\t{1}\t{2}", System.Convert.ToString(i), System.Convert.ToString(myList.GetKey(i)), System.Convert.ToString(myList.GetByIndex(i))); } Console.WriteLine(); } //PrintIndexAndKeysAndValues } //SamplesSortedList /* 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. */

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSortedList.ContainsKeyを検索する場合は、下記のリンクをクリックしてください。

- SortedList.ContainsKeyのページへのリンク