Open In App

C# | Removing a range of elements from the List

Improve
Improve
Like Article
Like
Save
Share
Report

List<T>.RemoveRange(Int32, Int32) Method is used to remove a range of elements from the List<T>. Properties of List:

  • It is different from the arrays. A list can be resized dynamically but arrays cannot.
  • List class can accept null as a valid value for reference types and it also allows duplicate elements.
  • If the Count becomes equals to Capacity then the capacity of the List increases automatically by reallocating the internal array. The existing elements will be copied to the new array before the addition of the new element.

Syntax:

public void RemoveRange (int index, int count);

Parameters:

index: It is the zero-based starting index of the range of elements which is to be removed. count: It is the number of the elements which is to be removed.

Exceptions:

  • ArgumentOutOfRangeException: If the index is less than zero or Count is less than zero.
  • ArgumentException: If the index and Count do not denote a valid range of elements in the List<T>.

Below programs illustrate the use of List<T>.RemoveRange(Int32, Int32) Method: Example 1: 

CSharp




// C# Program to remove a range of
// elements from the List
using System;
using System.Collections;
using System.Collections.Generic;
 
class Geeks {
 
    // Main Method
    public static void Main(String[] args)
    {
 
        // Creating an List<T> of strings
        List<String> firstlist = new List<String>();
 
        // Adding elements to List
        firstlist.Add("Geeks");
        firstlist.Add("For");
        firstlist.Add("Geeks");
        firstlist.Add("GFG");
        firstlist.Add("C#");
        firstlist.Add("Tutorials");
        firstlist.Add("GeeksforGeeks");
 
        // Displaying the elements of firstlist
        Console.WriteLine("Elements in List:\n");
 
        foreach(string ele in firstlist)
        {
            Console.WriteLine(ele);
        }
 
        // removing 1 elements starting
        // from index 3
        firstlist.RemoveRange(3, 1);
 
        Console.WriteLine("");
 
        // Displaying the updated List
        Console.WriteLine("After Removing of elements:\n");
 
        // Displaying the elements in List
        foreach(string ele in firstlist)
        {
            Console.WriteLine(ele);
        }
    }
}


Output:

Elements in List:

Geeks
For
Geeks
GFG
C#
Tutorials
GeeksforGeeks

After Removing of elements:

Geeks
For
Geeks
C#
Tutorials
GeeksforGeeks

Time Complexity: O(n)

Auxiliary Space: O(n)

Example 2: 

CSharp




// C# Program to remove a range of
// elements from the List
using System;
using System.Collections;
using System.Collections.Generic;
 
class Geeks {
 
    // Main Method
    public static void Main(String[] args)
    {
 
        // Creating an List<T> of Integers
        List<int> firstlist = new List<int>();
 
        // Adding elements to List
        firstlist.Add(1);
        firstlist.Add(2);
        firstlist.Add(3);
        firstlist.Add(4);
        firstlist.Add(5);
        firstlist.Add(6);
        firstlist.Add(7);
 
        // Displaying the elements of firstlist
        Console.WriteLine("Elements in List:\n");
 
        foreach(int ele in firstlist)
        {
            Console.WriteLine(ele);
        }
 
        // removing 2 elements starting
        // from index 3 i.e 3rd and 4th
        firstlist.RemoveRange(3, 2);
 
        Console.WriteLine("");
 
        // Displaying the updated List
        Console.WriteLine("After Removing of elements:\n");
 
        // Displaying the elements in List
        foreach(int ele in firstlist)
        {
            Console.WriteLine(ele);
        }
    }
}


Output:

Elements in List:

1
2
3
4
5
6
7

After Removing of elements:

1
2
3
6
7

Time complexity: O(n) since using a loop

Auxiliary Space: O(n) where n is size of the list

Reference:



Last Updated : 20 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads