El método Collection< T >.CopyTo(T[], Int32) se usa para copiar la colección completa< T > en un arreglo unidimensional compatible, comenzando en el índice especificado del arreglo de destino.
Sintaxis:
public void CopyTo (T[] array, int index);
Parámetros:
array: la array unidimensional que es el destino de los elementos copiados de Collection< T >. El Array debe tener una indexación basada en cero.
índice: el índice basado en cero en la array en el que comienza la copia.
Excepciones:
- ArgumentNullException: si la array es nula.
- ArgumentOutOfRangeException: si el índice es menor que cero.
- ArgumentException: si la cantidad de elementos en la colección de origen < T > es mayor que el espacio disponible desde el índice hasta el final de la array de destino.
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// C# code to copy the entire Collection // to a compatible one-dimensional Array, // starting at the specified index of // the target array using System; using System.Collections.Generic; using System.Collections.ObjectModel; class GFG { // Driver code public static void Main() { // Creating a collection of strings Collection<string> myColl = new Collection<string>(); myColl.Add("A"); myColl.Add("B"); myColl.Add("C"); myColl.Add("D"); myColl.Add("E"); // Creating a string array string[] myArr = new string[myColl.Count]; // Copying the entire Collection to a // compatible one-dimensional Array, // starting at the specified index // of the target array myColl.CopyTo(myArr, 0); // Displaying the elements in myArr foreach(string str in myArr) { Console.WriteLine(str); } } }
Producción:
A B C D E
Ejemplo 2:
// C# code to copy the entire Collection // to a compatible one-dimensional Array, // starting at the specified index of // the target array using System; using System.Collections.Generic; using System.Collections.ObjectModel; class GFG { // Driver code public static void Main() { // Creating a collection of ints Collection<int> myColl = new Collection<int>(); myColl.Add(2); myColl.Add(3); myColl.Add(4); myColl.Add(5); // Creating an integer array int[] myArr = new int[myColl.Count]; // Copying the entire Collection to a // compatible one-dimensional Array, // starting at the specified index // of the target array // This should raise "ArgumentOutOfRangeException" // as index is less than 0 myColl.CopyTo(myArr, -5); // Displaying the elements in myArr foreach(int i in myArr) { Console.WriteLine(i); } } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentOutOfRangeException: el valor debe ser >= 0.
Nombre del parámetro: índice de destino
Nota:
- Este método usa Array.Copy para copiar los elementos.
- Los elementos se copian en Array en el mismo orden en que el enumerador itera a través de Collection< T >.
- Este método es una operación O(n), donde n es Count.
Referencia:
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA