Cette documentation est archivée et n’est pas conservée.

Dictionary<TKey, TValue>.ICollection<KeyValuePair<TKey, TValue>>.CopyTo, méthode

Mise à jour : November 2007

Copie les éléments de ICollection<T> dans un tableau de type KeyValuePair<TKey, TValue>, en commençant au niveau de l'index de tableau spécifié.

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

void ICollection<KeyValuePair<TKey, TValue>>.CopyTo(
	KeyValuePair<TKey, TValue>[] array,
	int index
)
J# prend en charge l'utilisation d'implémentations d'interface explicite mais pas la déclaration de nouvelles implémentations d'interface explicite.
JScript ne prend pas en charge les implémentations d'interfaces explicites.

Paramètres

array
Type : System.Collections.Generic.KeyValuePair<TKey, TValue>[]
Tableau unidimensionnel de type KeyValuePair<TKey, TValue> constituant la destination des éléments KeyValuePair<TKey, TValue> copiés à partir de ICollection<T>. Le tableau doit avoir une indexation de base zéro.
index
Type : System.Int32
Index de base zéro dans array au niveau duquel commencer la copie.

Implémentations

ICollection<T>.CopyTo(T[], Int32)

ExceptionCondition
ArgumentNullException

array est null.

ArgumentOutOfRangeException

index est inférieur à 0.

ArgumentException

index est égal ou supérieur à la longueur de array.

– ou –

Le nombre d'éléments dans le ICollection<T> source est supérieur à la quantité d'espace disponible entre index et la fin du array de destination.

Cette méthode est une opération O(n), où n est égal à Count.

L'exemple de code suivant montre comment utiliser les méthodes System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{`0,`1}}#Add(KeyValuePair<TKey, TValue>), System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{`0,`1}}#Contains(KeyValuePair<TKey, TValue>), System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{`0,`1}}#CopyTo(KeyValuePair<TKey, TValue>[], Int32) et System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{`0,`1}}#Remove(KeyValuePair<TKey, TValue>) de l'interface générique System.Collections.Generic.ICollection<T> pour manipuler un objet Dictionary<TKey, TValue>.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new dictionary of strings, with string keys, and
        // access it through the generic ICollection interface. The
        // generic ICollection interface views the dictionary as a
        // collection of KeyValuePair objects with the same type
        // arguments as the dictionary.
        //
        ICollection<KeyValuePair<String, String>> openWith =
            new Dictionary<String, String>();

        // Add some elements to the dictionary. When elements are 
        // added through the ICollection<T> interface, the keys
        // and values must be wrapped in KeyValuePair objects.
        //
        openWith.Add(new KeyValuePair<String,String>("txt", "notepad.exe"));
        openWith.Add(new KeyValuePair<String,String>("bmp", "paint.exe"));
        openWith.Add(new KeyValuePair<String,String>("dib", "paint.exe"));
        openWith.Add(new KeyValuePair<String,String>("rtf", "wordpad.exe"));

        Console.WriteLine();
        foreach( KeyValuePair<string, string> element in openWith )
        {
            Console.WriteLine("{0}, {1}", element.Key, element.Value);
        }

        // The Contains method also takes a KeyValuePair object.
        //
        Console.WriteLine(
            "\nContains(KeyValuePair(\"txt\", \"notepad.exe\")): {0}", 
            openWith.Contains(new KeyValuePair<String,String>("txt", "notepad.exe")));

        // The Remove method takes a KeyValuePair object.)
        //
        // Use the Remove method to remove a key/value pair.
        Console.WriteLine("\nRemove(new KeyValuePair(\"dib\", \"paint.exe\"))");
        openWith.Remove(new KeyValuePair<String,String>("dib", "paint.exe"));

        Console.WriteLine();
        foreach( KeyValuePair<string, string> element in openWith )
        {
            Console.WriteLine("{0}, {1}", element.Key, element.Value);
        }

        // Create an array of KeyValuePair objects and copy the 
        // contents of the dictionary to it. 
        // 
        KeyValuePair<string, string>[] copy = 
            new KeyValuePair<string, string>[openWith.Count];
        openWith.CopyTo(copy, 0);

        // List the contents of the array.
        //
        Console.WriteLine();
        foreach( KeyValuePair<string, string> element in copy )
        {
            Console.WriteLine("{0}, {1}", element.Key, element.Value);
        }
    }
}

/* This code example produces the following output:

txt, notepad.exe
bmp, paint.exe
dib, paint.exe
rtf, wordpad.exe

Contains(KeyValuePair("txt", "notepad.exe")): True

Remove(new KeyValuePair("dib", "paint.exe"))

txt, notepad.exe
bmp, paint.exe
rtf, wordpad.exe

txt, notepad.exe
bmp, paint.exe
rtf, wordpad.exe
 */


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

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

XNA Framework

Pris en charge dans : 2.0, 1.0
Afficher: