StringDictionary.CopyTo(Array, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Copie les valeurs du dictionnaire de chaînes vers une instance de Array unidimensionnelle, à l'index spécifié.
public:
virtual void CopyTo(Array ^ array, int index);
public virtual void CopyTo (Array array, int index);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit
Public Overridable Sub CopyTo (array As Array, index As Integer)
Paramètres
- array
- Array
Array unidimensionnel qui est la destination des valeurs copiées à partir de StringDictionary.
- index
- Int32
Index à partir duquel la copie commence dans le tableau.
Exceptions
array
est multidimensionnel.
- ou -
Le nombre d’éléments dans la StringDictionary est supérieur à l’espace disponible entre index
et la fin d’array
.
array
a la valeur null
.
index
est inférieur à la limite inférieure d’array
.
Exemples
L’exemple de code suivant montre comment un StringDictionary peut être copié dans un tableau.
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void main()
{
// Creates and initializes a new StringDictionary.
StringDictionary^ myCol = gcnew StringDictionary;
myCol->Add( "red", "rojo" );
myCol->Add( "green", "verde" );
myCol->Add( "blue", "azul" );
// Displays the values in the StringDictionary.
Console::WriteLine( "KEYS\tVALUES in the StringDictionary" );
IEnumerator^ myEnum = myCol->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry^ myDE = safe_cast<DictionaryEntry^>(myEnum->Current);
Console::WriteLine( "{0}\t{1}", myDE->Key, myDE->Value );
Console::WriteLine();
// Creates an array with DictionaryEntry elements.
array<DictionaryEntry>^myArr = gcnew array<DictionaryEntry>(3);
// Copies the StringDictionary to the array.
myCol->CopyTo( myArr, 0 );
// Displays the values in the array.
Console::WriteLine( "KEYS\tVALUES in the array" );
for ( int i = 0; i < myArr->Length; i++ )
Console::WriteLine( "{0}\t{1}", myArr[ i ].Key, myArr[ i ].Value );
Console::WriteLine();
}
}
/*
This code produces the following output.
KEYS VALUES in the StringDictionary
green verde
red rojo
blue azul
KEYS VALUES in the array
green verde
red rojo
blue azul
*/
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesStringDictionary {
public static void Main() {
// Creates and initializes a new StringDictionary.
StringDictionary myCol = new StringDictionary();
myCol.Add( "red", "rojo" );
myCol.Add( "green", "verde" );
myCol.Add( "blue", "azul" );
// Displays the values in the StringDictionary.
Console.WriteLine( "KEYS\tVALUES in the StringDictionary" );
foreach ( DictionaryEntry myDE in myCol )
Console.WriteLine( "{0}\t{1}", myDE.Key, myDE.Value );
Console.WriteLine();
// Creates an array with DictionaryEntry elements.
DictionaryEntry[] myArr = { new DictionaryEntry(), new DictionaryEntry(), new DictionaryEntry() };
// Copies the StringDictionary to the array.
myCol.CopyTo( myArr, 0 );
// Displays the values in the array.
Console.WriteLine( "KEYS\tVALUES in the array" );
for ( int i = 0; i < myArr.Length; i++ )
Console.WriteLine( "{0}\t{1}", myArr[i].Key, myArr[i].Value );
Console.WriteLine();
}
}
/*
This code produces the following output.
KEYS VALUES in the StringDictionary
green verde
red rojo
blue azul
KEYS VALUES in the array
green verde
red rojo
blue azul
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class SamplesStringDictionary
Public Shared Sub Main()
' Creates and initializes a new StringDictionary.
Dim myCol As New StringDictionary()
myCol.Add("red", "rojo")
myCol.Add("green", "verde")
myCol.Add("blue", "azul")
' Displays the values in the StringDictionary.
Console.WriteLine("KEYS" + ControlChars.Tab + "VALUES in the StringDictionary")
Dim myDE As DictionaryEntry
For Each myDE In myCol
Console.WriteLine("{0}" + ControlChars.Tab + "{1}", myDE.Key, myDE.Value)
Next myDE
Console.WriteLine()
' Creates an array with DictionaryEntry elements.
Dim myArr As DictionaryEntry() = {New DictionaryEntry(), New DictionaryEntry(), New DictionaryEntry()}
' Copies the StringDictionary to the array.
myCol.CopyTo(myArr, 0)
' Displays the values in the array.
Console.WriteLine("KEYS" + ControlChars.Tab + "VALUES in the array")
Dim i As Integer
For i = 0 To myArr.Length - 1
Console.WriteLine("{0}" + ControlChars.Tab + "{1}", myArr(i).Key, myArr(i).Value)
Next i
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'KEYS VALUES in the StringDictionary
'green verde
'red rojo
'blue azul
'
'KEYS VALUES in the array
'green verde
'red rojo
'blue azul
Remarques
CopyTo copie les objets qui peuvent être de typecast dans System.Collections.DictionaryEntry. DictionaryEntry contient à la fois la clé et la valeur.
Les éléments copiés dans le Array sont triés dans le même ordre que celui où l’énumérateur effectue une itération au sein du StringDictionary.
Cette méthode est une opération O(n
), où n
est Count.