Freigeben über


SortedList.Contains-Methode

Bestimmt, ob SortedList einen bestimmten Schlüssel enthält.

Namespace: System.Collections
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Function Contains ( _
    key As Object _
) As Boolean
'Usage
Dim instance As SortedList
Dim key As Object
Dim returnValue As Boolean

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

Parameter

Rückgabewert

true, wenn die SortedList ein Element mit dem angegebenen key enthält, andernfalls false.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

key ist NULL (Nothing in Visual Basic).

InvalidOperationException

Der Vergleich löst eine Ausnahme aus.

Hinweise

Die Elemente einer SortedList sind nach Schlüsseln sortiert: entweder entsprechend einer bestimmten, beim Erstellen der SortedList angegebenen IComparer-Implementierung, oder entsprechend der von den Schlüsseln selbst bereitgestellten IComparable-Implementierung.

Contains implementiert IDictionary.Contains. Sie verhält sich genauso wie ContainsKey.

Diese Methode verwendet einen binären Suchalgorithmus. Daher ist diese Methode eine O(log n)-Operation, wobei nCount ist.

Beispiel

Im folgenden Beispiel wird gezeigt, wie das Vorhandensein eines bestimmten Elements in SortedList geprüft wird.

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.
 */

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

SortedList-Klasse
SortedList-Member
System.Collections-Namespace
ContainsKey
IndexOfKey

Weitere Ressourcen

Durchführen kulturunabhängiger Zeichenfolgenoperationen in Auflistungen