Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

ReadOnlyCollection<T>.CopyTo (Método)

Copia la totalidad de ReadOnlyCollection<T> en una matriz Array unidimensional y compatible, comenzando en el índice especificado de la matriz de destino.

Espacio de nombres:  System.Collections.ObjectModel
Ensamblado:  mscorlib (en mscorlib.dll)
public void CopyTo(
	T[] array,
	int index
)

Parámetros

array
Tipo: T[]
Matriz Array unidimensional que constituye el destino de los elementos copiados desde ReadOnlyCollection<T>. Array debe tener una indización de base cero.
index
Tipo: System.Int32
Índice de base cero en la array donde comienza la copia.

Implementaciones

ICollection<T>.CopyTo(T[], Int32)
ExcepciónCondición
ArgumentNullException

array es null.

ArgumentOutOfRangeException

index es menor que cero.

ArgumentException

El número de elementos en la interfaz ReadOnlyCollection<T> de origen es mayor que el espacio disponible desde index hasta el final de la matriz array de destino.

Este método utiliza Array.Copy para copiar los elementos.

Los elementos se copian en la matriz Array con el mismo orden que sigue el enumerador al recorrer en iteración la colección ReadOnlyCollection<T>.

Este método es una operación O(n), donde n es Count.

En el ejemplo de código siguiente se muestran varios miembros de la clase ReadOnlyCollection<T>. En este ejemplo de código se crea una lista List<T> de cadenas a la que se agregan cuatro nombres de dinosaurio. A continuación, se ajusta la lista en una colección ReadOnlyCollection<T>.

Después de que se muestren los miembros Count, Contains, Item y IList.IndexOf, en el código de ejemplo se muestra que ReadOnlyCollection<T> es únicamente un contenedor de la lista List<T> original, agregando un nuevo elemento a List<T> y mostrando el contenido de ReadOnlyCollection<T>.

Por último, en el código de ejemplo se crea una matriz mayor que la colección y se utiliza el método CopyTo para insertar los elementos de la colección en el centro de la matriz.


using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Compsognathus");

        ReadOnlyCollection<string> readOnlyDinosaurs = 
            new ReadOnlyCollection<string>(dinosaurs);

        Console.WriteLine();
        foreach( string dinosaur in readOnlyDinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nCount: {0}", readOnlyDinosaurs.Count);

        Console.WriteLine("\nContains(\"Deinonychus\"): {0}", 
            readOnlyDinosaurs.Contains("Deinonychus"));

        Console.WriteLine("\nreadOnlyDinosaurs[3]: {0}", 
            readOnlyDinosaurs[3]);

        Console.WriteLine("\nIndexOf(\"Compsognathus\"): {0}", 
            readOnlyDinosaurs.IndexOf("Compsognathus"));

        Console.WriteLine("\nInsert into the wrapped List:");
        Console.WriteLine("Insert(2, \"Oviraptor\")");
        dinosaurs.Insert(2, "Oviraptor");

        Console.WriteLine();
        foreach( string dinosaur in readOnlyDinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        string[] dinoArray = new string[readOnlyDinosaurs.Count + 2];
        readOnlyDinosaurs.CopyTo(dinoArray, 1);

        Console.WriteLine("\nCopied array has {0} elements:", 
            dinoArray.Length);
        foreach( string dinosaur in dinoArray )
        {
            Console.WriteLine("\"{0}\"", dinosaur);
        }
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Deinonychus
Compsognathus

Count: 4

Contains("Deinonychus"): True

readOnlyDinosaurs[3]: Compsognathus

IndexOf("Compsognathus"): 3

Insert into the wrapped List:
Insert(2, "Oviraptor")

Tyrannosaurus
Amargasaurus
Oviraptor
Deinonychus
Compsognathus

Copied array has 7 elements:
""
"Tyrannosaurus"
"Amargasaurus"
"Oviraptor"
"Deinonychus"
"Compsognathus"
""
 */


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.