Lire en anglais

Partager via


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

Définition

Crée une copie superficielle d'une plage d'éléments de la source List<T>.

C#
public System.Collections.Generic.List<T> GetRange (int index, int count);

Paramètres

index
Int32

Index de base zéro List<T> où débute la plage.

count
Int32

Nombre d'éléments dans la plage.

Retours

Copie superficielle d'une plage d'éléments de la source List<T>.

Exceptions

index est inférieur à 0.

- ou -

count est inférieur à 0.

index et count ne désignent pas une plage d’éléments valide du List<T>.

Exemples

L’exemple suivant illustre la GetRange méthode et d’autres méthodes de la List<T> classe qui agissent sur des plages. À la fin de l’exemple, la GetRange méthode est utilisée pour obtenir trois éléments de la liste, en commençant par l’emplacement d’index 2. La ToArray méthode est appelée sur le résultat List<T>, créant un tableau de trois éléments. Les éléments du tableau sont affichés.

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

Une copie superficielle d’une collection de types de référence, ou un sous-ensemble de cette collection, contient uniquement les références aux éléments de la collection. Les objets eux-mêmes ne sont pas copiés. Les références dans la nouvelle liste pointent vers les mêmes objets que les références de la liste d’origine.

Une copie superficielle d’une collection de types valeur, ou un sous-ensemble de cette collection, contient les éléments de la collection. Toutefois, si les éléments de la collection contiennent des références à d’autres objets, ces objets ne sont pas copiés. Les références dans les éléments de la nouvelle collection pointent vers les mêmes objets que les références dans les éléments de la collection d’origine.

En revanche, une copie approfondie d’une collection copie les éléments et tout ce qui est référencé directement ou indirectement par les éléments.

Cette méthode est une opération O(n), où n 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