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

Définition

Ajoute les éléments de la collection spécifiée à la fin de List<T>.

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

Paramètres

collection
IEnumerable<T>

Collection dont les éléments devraient être ajoutés à la fin de List<T>. La collection elle-même ne peut pas avoir la valeur null, mais elle peut contenir des éléments qui sont null, si le type T est un type référence.

Exceptions

collection a la valeur null.

Exemples

L’exemple suivant illustre la AddRange méthode et diverses autres méthodes de la List<T> classe qui agissent sur des plages. Un tableau de chaînes est créé et passé au constructeur, ce qui remplit la liste avec les éléments du tableau. La AddRange méthode est appelée, avec la liste comme argument. Le résultat est que les éléments actuels de la liste sont ajoutés à la fin de la liste, dupliquant tous les éléments.

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
 */

Remarques

L’ordre des éléments de la collection est conservé dans .List<T>

Si le nouveau Count (l’actuel Count plus la taille de la collection) est supérieur Capacityà , la capacité du List<T> est augmentée en réaffectant automatiquement le tableau interne pour prendre en charge les nouveaux éléments, et les éléments existants sont copiés dans le nouveau tableau avant l’ajout des nouveaux éléments.

Si le List<T> peut prendre en charge les nouveaux éléments sans augmenter le Capacity, cette méthode est une opération O(n), où n est le nombre d’éléments à ajouter. Si la capacité doit être augmentée pour prendre en charge les nouveaux éléments, cette méthode devient une opération O(n + m), où n est le nombre d’éléments à ajouter et m est Count.

S’applique à

Produit Versions
.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

Voir aussi