List<T>.AddRange(IEnumerable<T>) Método

Definición

Agrega los elementos de la colección especificada al final de List<T>.

C#
public void AddRange (System.Collections.Generic.IEnumerable<T> collection);

Parámetros

collection
IEnumerable<T>

Colección cuyos elementos deben agregarse al final de List<T>. La propia colección no puede ser null, pero puede contener elementos que sean null si el tipo T es un tipo de referencia.

Excepciones

collection es null.

Ejemplos

En el ejemplo siguiente se muestra el AddRange método y otros métodos de la List<T> clase que actúan en rangos. Se crea una matriz de cadenas y se pasa al constructor, rellenando la lista con los elementos de la matriz. Se AddRange llama al método , con la lista como argumento . El resultado es que los elementos actuales de la lista se agregan al final de la lista, duplicando todos los elementos.

C#
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        string[] input = { "Brachiosaurus",
                           "Amargasaurus",
                           "Mamenchisaurus" };

        List<string> dinosaurs = new List<string>(input);

        Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);

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

        Console.WriteLine("\nAddRange(dinosaurs)");
        dinosaurs.AddRange(dinosaurs);

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

        Console.WriteLine("\nRemoveRange(2, 2)");
        dinosaurs.RemoveRange(2, 2);

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

        input = new string[] { "Tyrannosaurus",
                               "Deinonychus",
                               "Velociraptor"};

        Console.WriteLine("\nInsertRange(3, input)");
        dinosaurs.InsertRange(3, input);

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

        Console.WriteLine("\noutput = dinosaurs.GetRange(2, 3).ToArray()");
        string[] output = dinosaurs.GetRange(2, 3).ToArray();

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

/* This code example produces the following output:

Capacity: 3

Brachiosaurus
Amargasaurus
Mamenchisaurus

AddRange(dinosaurs)

Brachiosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Amargasaurus
Mamenchisaurus

RemoveRange(2, 2)

Brachiosaurus
Amargasaurus
Amargasaurus
Mamenchisaurus

InsertRange(3, input)

Brachiosaurus
Amargasaurus
Amargasaurus
Tyrannosaurus
Deinonychus
Velociraptor
Mamenchisaurus

output = dinosaurs.GetRange(2, 3).ToArray()

Amargasaurus
Tyrannosaurus
Deinonychus
 */

Comentarios

El orden de los elementos de la colección se conserva en .List<T>

Si el nuevo (el actual CountCount más el tamaño de la colección) será mayor que Capacity, la capacidad de se incrementa mediante la reasignación automática de la matriz interna para acomodar los nuevos elementos y los elementos existentes se copian en la nueva matriz antes de List<T> agregar los nuevos elementos.

List<T> Si puede acomodar los nuevos elementos sin aumentar Capacity, este método es una operación O(n), donde n es el número de elementos que se van a agregar. Si es necesario aumentar la capacidad para acomodar los nuevos elementos, este método se convierte en una operación O(nm), donde n + es el número de elementos que se van a agregar y m es Count.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Consulte también