HybridDictionary.CopyTo(Array, Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kopiuje HybridDictionary wpisy do jednowymiarowego Array wystąpienia w określonym indeksie.
public:
virtual void CopyTo(Array ^ array, int index);
public void CopyTo (Array array, int index);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit
Public Sub CopyTo (array As Array, index As Integer)
Parametry
- array
- Array
Jednowymiarowy Array obiekt docelowy DictionaryEntry obiektów skopiowanych z HybridDictionaryklasy . Element Array musi mieć indeksowanie oparte na zerach.
- index
- Int32
Numerowany od zera indeks w tablicy array
, od którego rozpoczyna się kopiowanie.
Implementuje
Wyjątki
array
to null
.
Parametr index
ma wartość niższą niż zero.
Parametr array
jest wielowymiarowy.
-lub-
Liczba elementów w źródle HybridDictionary jest większa niż dostępna przestrzeń od arrayIndex
do końca miejsca docelowego array
.
Nie można automatycznie rzutować typu źródła HybridDictionary do typu docelowego array
.
Przykłady
Poniższy przykład kodu kopiuje elementy obiektu HybridDictionary do tablicy.
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void PrintKeysAndValues( IDictionary^ myCol )
{
Console::WriteLine( " KEY VALUE" );
IEnumerator^ myEnum = myCol->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry de = safe_cast<DictionaryEntry>(myEnum->Current);
Console::WriteLine( " {0,-25} {1}", de.Key, de.Value );
}
Console::WriteLine();
}
int main()
{
// Creates and initializes a new HybridDictionary.
HybridDictionary^ myCol = gcnew HybridDictionary;
myCol->Add( "Braeburn Apples", "1.49" );
myCol->Add( "Fuji Apples", "1.29" );
myCol->Add( "Gala Apples", "1.49" );
myCol->Add( "Golden Delicious Apples", "1.29" );
myCol->Add( "Granny Smith Apples", "0.89" );
myCol->Add( "Red Delicious Apples", "0.99" );
myCol->Add( "Plantain Bananas", "1.49" );
myCol->Add( "Yellow Bananas", "0.79" );
myCol->Add( "Strawberries", "3.33" );
myCol->Add( "Cranberries", "5.98" );
myCol->Add( "Navel Oranges", "1.29" );
myCol->Add( "Grapes", "1.99" );
myCol->Add( "Honeydew Melon", "0.59" );
myCol->Add( "Seedless Watermelon", "0.49" );
myCol->Add( "Pineapple", "1.49" );
myCol->Add( "Nectarine", "1.99" );
myCol->Add( "Plums", "1.69" );
myCol->Add( "Peaches", "1.99" );
// Displays the values in the HybridDictionary in three different ways.
Console::WriteLine( "Initial contents of the HybridDictionary:" );
PrintKeysAndValues( myCol );
// Copies the HybridDictionary to an array with DictionaryEntry elements.
array<DictionaryEntry>^myArr = gcnew array<DictionaryEntry>(myCol->Count);
myCol->CopyTo( myArr, 0 );
// Displays the values in the array.
Console::WriteLine( "Displays the elements in the array:" );
Console::WriteLine( " KEY VALUE" );
for ( int i = 0; i < myArr->Length; i++ )
Console::WriteLine( " {0,-25} {1}", myArr[ i ].Key, myArr[ i ].Value );
Console::WriteLine();
}
/*
This code produces output similar to the following:
Initial contents of the HybridDictionary:
KEY VALUE
Seedless Watermelon 0.49
Nectarine 1.99
Cranberries 5.98
Plantain Bananas 1.49
Honeydew Melon 0.59
Pineapple 1.49
Strawberries 3.33
Grapes 1.99
Braeburn Apples 1.49
Peaches 1.99
Red Delicious Apples 0.99
Golden Delicious Apples 1.29
Yellow Bananas 0.79
Granny Smith Apples 0.89
Gala Apples 1.49
Plums 1.69
Navel Oranges 1.29
Fuji Apples 1.29
Displays the elements in the array:
KEY VALUE
Seedless Watermelon 0.49
Nectarine 1.99
Cranberries 5.98
Plantain Bananas 1.49
Honeydew Melon 0.59
Pineapple 1.49
Strawberries 3.33
Grapes 1.99
Braeburn Apples 1.49
Peaches 1.99
Red Delicious Apples 0.99
Golden Delicious Apples 1.29
Yellow Bananas 0.79
Granny Smith Apples 0.89
Gala Apples 1.49
Plums 1.69
Navel Oranges 1.29
Fuji Apples 1.29
*/
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesHybridDictionary {
public static void Main() {
// Creates and initializes a new HybridDictionary.
HybridDictionary myCol = new HybridDictionary();
myCol.Add( "Braeburn Apples", "1.49" );
myCol.Add( "Fuji Apples", "1.29" );
myCol.Add( "Gala Apples", "1.49" );
myCol.Add( "Golden Delicious Apples", "1.29" );
myCol.Add( "Granny Smith Apples", "0.89" );
myCol.Add( "Red Delicious Apples", "0.99" );
myCol.Add( "Plantain Bananas", "1.49" );
myCol.Add( "Yellow Bananas", "0.79" );
myCol.Add( "Strawberries", "3.33" );
myCol.Add( "Cranberries", "5.98" );
myCol.Add( "Navel Oranges", "1.29" );
myCol.Add( "Grapes", "1.99" );
myCol.Add( "Honeydew Melon", "0.59" );
myCol.Add( "Seedless Watermelon", "0.49" );
myCol.Add( "Pineapple", "1.49" );
myCol.Add( "Nectarine", "1.99" );
myCol.Add( "Plums", "1.69" );
myCol.Add( "Peaches", "1.99" );
// Displays the values in the HybridDictionary in three different ways.
Console.WriteLine( "Initial contents of the HybridDictionary:" );
PrintKeysAndValues( myCol );
// Copies the HybridDictionary to an array with DictionaryEntry elements.
DictionaryEntry[] myArr = new DictionaryEntry[myCol.Count];
myCol.CopyTo( myArr, 0 );
// Displays the values in the array.
Console.WriteLine( "Displays the elements in the array:" );
Console.WriteLine( " KEY VALUE" );
for ( int i = 0; i < myArr.Length; i++ )
Console.WriteLine( " {0,-25} {1}", myArr[i].Key, myArr[i].Value );
Console.WriteLine();
}
public static void PrintKeysAndValues( IDictionary myCol ) {
Console.WriteLine( " KEY VALUE" );
foreach ( DictionaryEntry de in myCol )
Console.WriteLine( " {0,-25} {1}", de.Key, de.Value );
Console.WriteLine();
}
}
/*
This code produces output similar to the following:
Initial contents of the HybridDictionary:
KEY VALUE
Seedless Watermelon 0.49
Nectarine 1.99
Cranberries 5.98
Plantain Bananas 1.49
Honeydew Melon 0.59
Pineapple 1.49
Strawberries 3.33
Grapes 1.99
Braeburn Apples 1.49
Peaches 1.99
Red Delicious Apples 0.99
Golden Delicious Apples 1.29
Yellow Bananas 0.79
Granny Smith Apples 0.89
Gala Apples 1.49
Plums 1.69
Navel Oranges 1.29
Fuji Apples 1.29
Displays the elements in the array:
KEY VALUE
Seedless Watermelon 0.49
Nectarine 1.99
Cranberries 5.98
Plantain Bananas 1.49
Honeydew Melon 0.59
Pineapple 1.49
Strawberries 3.33
Grapes 1.99
Braeburn Apples 1.49
Peaches 1.99
Red Delicious Apples 0.99
Golden Delicious Apples 1.29
Yellow Bananas 0.79
Granny Smith Apples 0.89
Gala Apples 1.49
Plums 1.69
Navel Oranges 1.29
Fuji Apples 1.29
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class SamplesHybridDictionary
Public Shared Sub Main()
' Creates and initializes a new HybridDictionary.
Dim myCol As New HybridDictionary()
myCol.Add("Braeburn Apples", "1.49")
myCol.Add("Fuji Apples", "1.29")
myCol.Add("Gala Apples", "1.49")
myCol.Add("Golden Delicious Apples", "1.29")
myCol.Add("Granny Smith Apples", "0.89")
myCol.Add("Red Delicious Apples", "0.99")
myCol.Add("Plantain Bananas", "1.49")
myCol.Add("Yellow Bananas", "0.79")
myCol.Add("Strawberries", "3.33")
myCol.Add("Cranberries", "5.98")
myCol.Add("Navel Oranges", "1.29")
myCol.Add("Grapes", "1.99")
myCol.Add("Honeydew Melon", "0.59")
myCol.Add("Seedless Watermelon", "0.49")
myCol.Add("Pineapple", "1.49")
myCol.Add("Nectarine", "1.99")
myCol.Add("Plums", "1.69")
myCol.Add("Peaches", "1.99")
' Displays the values in the HybridDictionary in three different ways.
Console.WriteLine("Initial contents of the HybridDictionary:")
PrintKeysAndValues(myCol)
' Copies the HybridDictionary to an array with DictionaryEntry elements.
Dim myArr(myCol.Count) As DictionaryEntry
myCol.CopyTo(myArr, 0)
' Displays the values in the array.
Console.WriteLine("Displays the elements in the array:")
Console.WriteLine(" KEY VALUE")
Dim i As Integer
For i = 0 To myArr.Length - 1
Console.WriteLine(" {0,-25} {1}", myArr(i).Key, myArr(i).Value)
Next i
Console.WriteLine()
End Sub
Public Shared Sub PrintKeysAndValues(myCol As IDictionary)
Console.WriteLine(" KEY VALUE")
Dim de As DictionaryEntry
For Each de In myCol
Console.WriteLine(" {0,-25} {1}", de.Key, de.Value)
Next de
Console.WriteLine()
End Sub
End Class
'This code produces output similar to the following:
'
'Initial contents of the HybridDictionary:
' KEY VALUE
' Seedless Watermelon 0.49
' Nectarine 1.99
' Cranberries 5.98
' Plantain Bananas 1.49
' Honeydew Melon 0.59
' Pineapple 1.49
' Strawberries 3.33
' Grapes 1.99
' Braeburn Apples 1.49
' Peaches 1.99
' Red Delicious Apples 0.99
' Golden Delicious Apples 1.29
' Yellow Bananas 0.79
' Granny Smith Apples 0.89
' Gala Apples 1.49
' Plums 1.69
' Navel Oranges 1.29
' Fuji Apples 1.29
'
'Displays the elements in the array:
' KEY VALUE
' Seedless Watermelon 0.49
' Nectarine 1.99
' Cranberries 5.98
' Plantain Bananas 1.49
' Honeydew Melon 0.59
' Pineapple 1.49
' Strawberries 3.33
' Grapes 1.99
' Braeburn Apples 1.49
' Peaches 1.99
' Red Delicious Apples 0.99
' Golden Delicious Apples 1.29
' Yellow Bananas 0.79
' Granny Smith Apples 0.89
' Gala Apples 1.49
' Plums 1.69
' Navel Oranges 1.29
' Fuji Apples 1.29
Uwagi
Elementy są kopiowane do elementu Array w tej samej kolejności, w której moduł wyliczający iteruje przez element HybridDictionary.
Aby skopiować tylko klucze w pliku HybridDictionary, użyj polecenia HybridDictionary.Keys.CopyTo
.
Aby skopiować tylko wartości w elemecie HybridDictionary, użyj polecenia HybridDictionary.Values.CopyTo
.
Ta metoda jest operacją O(n
), gdzie n
to Count.