SortedList.ContainsKeyとは? わかりやすく解説

SortedList.ContainsKey メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

SortedList に特定のキーが格納されているかどうかを判断します。

名前空間: System.Collections.Generic
アセンブリ: System (system.dll 内)
構文構文

Public Function ContainsKey ( _
    key As TKey _
) As Boolean
Dim instance As SortedList(Of
 TKey, TValue)
Dim key As TKey
Dim returnValue As Boolean

returnValue = instance.ContainsKey(key)
public bool ContainsKey (
    TKey key
)
public:
virtual bool ContainsKey (
    TKey key
) sealed
public final boolean ContainsKey (
    TKey key
)
public final function ContainsKey (
    key : TKey
) : boolean

パラメータ

key

SortedList 内で検索されるキー。

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

例外例外
例外の種類条件

ArgumentNullException

key が null 参照 (Visual Basic では Nothing) です。

解説解説

このメソッドは O(log n) 操作です。ここで、n は Count です。

使用例使用例

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.");
        }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SortedList ジェネリック クラス
SortedList メンバ
System.Collections.Generic 名前空間
IndexOfKey
ContainsValue

SortedList.ContainsKey メソッド

SortedList に特定のキーが格納されているかどうかを判断します。

名前空間: System.Collections
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Overridable Function
 ContainsKey ( _
    key As Object _
) As Boolean
Dim instance As SortedList
Dim key As Object
Dim returnValue As Boolean

returnValue = instance.ContainsKey(key)
public virtual bool ContainsKey (
    Object key
)
public:
virtual bool ContainsKey (
    Object^ key
)
public boolean ContainsKey (
    Object key
)
public function ContainsKey (
    key : Object
) : boolean

パラメータ

key

SortedList 内で検索されるキー。

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

例外例外
例外の種類条件

ArgumentNullException

key が null 参照 (Visual Basic では Nothing) です。

InvalidOperationException

比較演算子が例外をスローしました。

解説解説

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.
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SortedList クラス
SortedList メンバ
System.Collections 名前空間
Contains
ContainsValue
IndexOfKey
その他の技術情報
カルチャを認識しないコレクションの操作の実行



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SortedList.ContainsKey」の関連用語

SortedList.ContainsKeyのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SortedList.ContainsKeyのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS