Exporter (0) Imprimer
Développer tout

SortedList.ContainsKey, méthode

Mise à jour : novembre 2007

Détermine si un objet SortedList contient une clé spécifique.

Espace de noms :  System.Collections
Assembly :  mscorlib (dans mscorlib.dll)

public virtual bool ContainsKey(
	Object key
)
public boolean ContainsKey(
	Object key
)
public function ContainsKey(
	key : Object
) : boolean

Paramètres

key
Type : System.Object

Clé à rechercher dans l'objet SortedList.

Valeur de retour

Type : System.Boolean

true si l'objet SortedList contient un élément avec le key spécifié ; sinon, false.

ExceptionCondition
ArgumentNullException

key est null.

InvalidOperationException

Le comparateur lève une exception.

Les éléments d'un objet SortedList sont triés par les clés, suivant une implémentation spécifique de IComparer spécifiée quand SortedList est créé ou suivant l'implémentation de IComparable fournie par les clés elles-mêmes.

Cette méthode se comporte exactement comme la méthode Contains.

Cette méthode utilise un algorithme de recherche binaire ; par conséquent, cette méthode est une opération O(log n), où n est égal à Count.

À partir du .NET Framework 2.0, cette méthode utilise les méthodes Equals et CompareTo des objets de la collection sur item pour déterminer quel élément existe. Dans les précédentes versions du .NET Framework, cette détermination était effectuée à l'aide des méthodes Equals et CompareTo du paramètre item sur les objets figurant dans la collection.

L'exemple suivant montre comment déterminer si un objet SortedList contient un élément spécifique.

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


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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft