SortedList.CopyTo(Array, Int32) Método

Definição

Copia SortedList elementos para um objeto Array unidimensional, iniciando no índice especificado na matriz.Copies SortedList elements to a one-dimensional Array object, starting at the specified index in the array.

public:
 virtual void CopyTo(Array ^ array, int arrayIndex);
public virtual void CopyTo (Array array, int arrayIndex);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit

Parâmetros

array
Array

O Array unidimensional que é o destino dos objetos DictionaryEntry copiados de SortedList.The one-dimensional Array object that is the destination of the DictionaryEntry objects copied from SortedList. O Array deve ter indexação com base em zero.The Array must have zero-based indexing.

arrayIndex
Int32

O índice com base em zero em array no qual a cópia começa.The zero-based index in array at which copying begins.

Implementações

Exceções

array é null.array is null.

arrayIndex é menor que zero.arrayIndex is less than zero.

array é multidimensional.array is multidimensional.

- ou --or- O número de elementos no objeto de origem SortedList é maior do que o espaço disponível de arrayIndex até o final do array de destino.The number of elements in the source SortedList object is greater than the available space from arrayIndex to the end of the destination array.

O tipo do SortedList de origem não pode ser automaticamente convertido para o tipo de array de destino.The type of the source SortedList cannot be cast automatically to the type of the destination array.

Exemplos

O exemplo de código a seguir mostra como copiar os valores em um objeto SortedList em um objeto Array unidimensional.The following code example shows how to copy the values in a SortedList object into a one-dimensional Array object.

using namespace System;
using namespace System::Collections;
void PrintValues( array<DictionaryEntry>^ myArr, Char mySeparator );
int main()
{
   
   // Creates and initializes the source SortedList.
   SortedList^ mySourceList = gcnew SortedList;
   mySourceList->Add( 2, "cats" );
   mySourceList->Add( 3, "in" );
   mySourceList->Add( 1, "napping" );
   mySourceList->Add( 4, "the" );
   mySourceList->Add( 0, "three" );
   mySourceList->Add( 5, "barn" );
   
   // Creates and initializes the one-dimensional target Array.
   array<String^>^tempArray = {"The","quick","brown","fox","jumps","over","the","lazy","dog"};
   array<DictionaryEntry>^myTargetArray = gcnew array<DictionaryEntry>(15);
   int i = 0;
   IEnumerator^ myEnum = tempArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      String^ s = safe_cast<String^>(myEnum->Current);
      myTargetArray[ i ].Key = i;
      myTargetArray[ i ].Value = s;
      i++;
   }

   
   // Displays the values of the target Array.
   Console::WriteLine( "The target Array contains the following (before and after copying):" );
   PrintValues( myTargetArray, ' ' );
   
   // Copies the entire source SortedList to the target SortedList, starting at index 6.
   mySourceList->CopyTo( myTargetArray, 6 );
   
   // Displays the values of the target Array.
   PrintValues( myTargetArray, ' ' );
}

void PrintValues( array<DictionaryEntry>^ myArr, Char mySeparator )
{
   for ( int i = 0; i < myArr->Length; i++ )
      Console::Write( "{0}{1}", mySeparator, myArr[ i ].Value );
   Console::WriteLine();
}

/*
This code produces the following output.
 
The target Array contains the following (before and after copying):
 The quick brown fox jumps over the lazy dog      
 The quick brown fox jumps over three napping cats in the barn

*/
 using System;
 using System.Collections;
 public class SamplesSortedList  {
 
    public static void Main()  {
 
       // Creates and initializes the source SortedList.
       SortedList mySourceList = new SortedList();
       mySourceList.Add( 2, "cats" );
       mySourceList.Add( 3, "in" );
       mySourceList.Add( 1, "napping" );
       mySourceList.Add( 4, "the" );
       mySourceList.Add( 0, "three" );
       mySourceList.Add( 5, "barn" );
 
       // Creates and initializes the one-dimensional target Array.
       String[] tempArray = new String[] { "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" };
       DictionaryEntry[] myTargetArray = new DictionaryEntry[15];
       int i = 0;
       foreach ( String s in tempArray )  {
          myTargetArray[i].Key = i;
          myTargetArray[i].Value = s;
          i++;
       }

       // Displays the values of the target Array.
       Console.WriteLine( "The target Array contains the following (before and after copying):" );
       PrintValues( myTargetArray, ' ' );
 
       // Copies the entire source SortedList to the target SortedList, starting at index 6.
       mySourceList.CopyTo( myTargetArray, 6 );
 
       // Displays the values of the target Array.
       PrintValues( myTargetArray, ' ' );
    }
 
    public static void PrintValues( DictionaryEntry[] myArr, char mySeparator )  {
       for ( int i = 0; i < myArr.Length; i++ )
          Console.Write( "{0}{1}", mySeparator, myArr[i].Value );
       Console.WriteLine();
    }

 }


/*
This code produces the following output.
 
The target Array contains the following (before and after copying):
 The quick brown fox jumps over the lazy dog      
 The quick brown fox jumps over three napping cats in the barn

*/ 
Imports System.Collections

Public Class SamplesSortedList

   Public Shared Sub Main()

      ' Creates and initializes the source SortedList.
      Dim mySourceList As New SortedList()
      mySourceList.Add(2, "cats")
      mySourceList.Add(3, "in")
      mySourceList.Add(1, "napping")
      mySourceList.Add(4, "the")
      mySourceList.Add(0, "three")
      mySourceList.Add(5, "barn")

      ' Creates and initializes the one-dimensional target Array.
      Dim tempArray() As String = {"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}
      Dim myTargetArray(14) As DictionaryEntry
      Dim i As Integer = 0
      Dim s As String
      For Each s In  tempArray
         myTargetArray(i).Key = i
         myTargetArray(i).Value = s
         i += 1
      Next s

      ' Displays the values of the target Array.
      Console.WriteLine("The target Array contains the following (before and after copying):")
      PrintValues(myTargetArray, " "c)

      ' Copies the entire source SortedList to the target SortedList, starting at index 6.
      mySourceList.CopyTo(myTargetArray, 6)

      ' Displays the values of the target Array.
      PrintValues(myTargetArray, " "c)

   End Sub


   Public Shared Sub PrintValues(myArr() As DictionaryEntry, mySeparator As Char)
      Dim i As Integer
      For i = 0 To myArr.Length - 1
         Console.Write("{0}{1}", mySeparator, myArr(i).Value)
      Next i
      Console.WriteLine()
  End Sub

End Class


'This code produces the following output.
' 
'The target Array contains the following (before and after copying):
' The quick brown fox jumps over the lazy dog      
' The quick brown fox jumps over three napping cats in the barn

Comentários

Os pares chave/valor são copiados para o objeto Array na mesma ordem em que o enumerador itera por meio do objeto SortedList.The key/value pairs are copied to the Array object in the same order in which the enumerator iterates through the SortedList object.

Para copiar somente as chaves no SortedList, use SortedList.Keys.CopyTo.To copy only the keys in the SortedList, use SortedList.Keys.CopyTo.

Para copiar somente os valores no SortedList, use SortedList.Values.CopyTo.To copy only the values in the SortedList, use SortedList.Values.CopyTo.

Esse método é uma operação O(n), em que n é Count.This method is an O(n) operation, where n is Count.

Aplica-se a

Veja também