List<T>.RemoveRange Method

July 28, 2014

Removes a range of elements from the List<T>.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

public void RemoveRange(
	int index,
	int count
)

Parameters

index
Type: System.Int32
The zero-based starting index of the range of elements to remove.
count
Type: System.Int32
The number of elements to remove.

ExceptionCondition
ArgumentOutOfRangeException

index is less than 0.

-or-

count is less than 0.

ArgumentException

index and count do not denote a valid range of elements in the List<T>.

The items are removed and all the elements following them in the List<T> have their indexes reduced by count.

This method is an O(n) operation, where n is Count.

The following code example demonstrates the RemoveRange method and various other methods of the List<T> class that act on ranges. After the list has been created and modified, the RemoveRange method is used to remove two elements from the list, beginning at index location 2.


using System;
using System.Collections.Generic;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string[] input = { "Brachiosaurus", 
                           "Amargasaurus", 
                           "Mamenchisaurus" };

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

      outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      outputBlock.Text += "\nAddRange(dinosaurs)" + "\n";
      dinosaurs.AddRange(dinosaurs);

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      outputBlock.Text += String.Format("\nRemoveRange(2, 2)") + "\n";
      dinosaurs.RemoveRange(2, 2);

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

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

      outputBlock.Text += String.Format("\nInsertRange(3, input)") + "\n";
      dinosaurs.InsertRange(3, input);

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      outputBlock.Text += String.Format("\noutput = dinosaurs.GetRange(2, 3).ToArray()") + "\n";
      string[] output = dinosaurs.GetRange(2, 3).ToArray();

      outputBlock.Text += "\n";
      foreach (string dinosaur in output)
      {
         outputBlock.Text += dinosaur + "\n";
      }
   }
}

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


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft