Lire en anglais

Partager via


List<T>.InsertRange(Int32, IEnumerable<T>) Méthode

Définition

Insère les éléments d'une collection dans List<T> au niveau de l'index spécifié.

C#
public void InsertRange (int index, System.Collections.Generic.IEnumerable<T> collection);

Paramètres

index
Int32

Index de base zéro au niveau duquel les nouveaux éléments devraient être insérés.

collection
IEnumerable<T>

Collection dont les éléments doivent être insérés dans 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.

index est inférieur à 0.

-ou-

index est supérieur à Count.

Exemples

L’exemple suivant illustre InsertRange la méthode et diverses autres méthodes de la List<T> classe qui agissent sur des plages. Une fois la liste créée et remplie avec les noms de plusieurs dinosaures pacifiques mangeurs de plantes, la InsertRange méthode est utilisée pour insérer un tableau de trois dinosaures féroces mangeurs de viande dans la liste, en commençant à l’emplacement d’index 3.

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

List<T> accepte null comme valeur valide pour les types de référence et autorise les éléments en double.

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 index est égal à Count, les éléments sont ajoutés à la fin de List<T>.

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

Cette méthode est 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