Open In App

C# | Remove all elements of a List that match the conditions defined by the predicate

List<T>.RemoveAll(Predicate<T>) Method is used to remove all the elements that match the conditions defined by the specified predicate.

Properties of List:



Syntax:

public int RemoveAll (Predicate<T> match);

Parameter:



match: It is the Predicate<T> delegate that defines the conditions of the elements which is to be removed.

Return Value: This method returns the number of elements that to be remove from the List<T>.

Exception: This method will give ArgumentNullException if the match is null.

Below programs illustrate the use of List<T>.RemoveAll(Predicate<T>) Method:

Example 1:




// C# Program to remove all elements of
// a List that match the conditions
// defined by the predicate
using System;
using System.Collections;
using System.Collections.Generic;
  
class Geeks {
  
    // function which checks whether an
    // element is even or not. Or you can
    // say it is the specified condition
    private static bool isEven(int i)
    {
        return ((i % 2) == 0);
    }
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating an List<T> of Integers
        List<int> firstlist = new List<int>();
  
        // Adding elements to List
        for (int i = 1; i <= 10; i++) {
            firstlist.Add(i);
        }
  
        Console.WriteLine("Elements Present in List:\n");
  
        // Displaying the elements of List
        foreach (int k in firstlist)
        {
            Console.WriteLine(k);
        }
  
        Console.WriteLine(" ");
  
        Console.Write("Number of Elements Removed: ");
  
        // Removing the elements which is even
        // This will return 5 as it removed 5
        // even elements from the list
        Console.WriteLine(firstlist.RemoveAll(isEven));
  
        Console.WriteLine(" ");
  
        Console.WriteLine("Remaining Elements in List:");
  
        // Displaying the elements of List
        foreach (int k in firstlist)
        {
            Console.WriteLine(k);
        }
    }
}

Output:

Elements Present in List:

1
2
3
4
5
6
7
8
9
10
 
Number of Elements Removed: 5
 
Remaining Elements in List:
1
3
5
7
9

Example 2:




// C# Program to remove all elements of
// a List that match the conditions
// defined by the predicate
using System;
using System.Collections;
using System.Collections.Generic;
  
class Geeks {
  
    // function which checks whether an
    // element is even or not. Or you can
    // say it is the specified condition
    private static bool isEven(int i)
    {
        return ((i % 2) == 0);
    }
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating an List<T> of Integers
        List<int> firstlist = new List<int>();
  
        // Adding items to List
        firstlist.Add(13);
        firstlist.Add(17);
        firstlist.Add(19);
        firstlist.Add(11);
  
        Console.WriteLine("Elements Present in List:\n");
  
        // Displaying the elements of List
        foreach(int k in firstlist)
        {
            Console.WriteLine(k);
        }
  
        Console.WriteLine(" ");
  
        Console.Write("Number of Elements Removed: ");
  
        // Removing the elements which is even
        // This will return 0 as it no elements
        // are even in List
        Console.WriteLine(firstlist.RemoveAll(isEven));
  
        Console.WriteLine(" ");
  
        Console.WriteLine("Remaining Elements in List:");
  
        // Displaying the elements of List
        foreach (int k in firstlist)
        {
            Console.WriteLine(k);
        }
    }
}

Output:

Elements Present in List:

13
17
19
11
 
Number of Elements Removed: 0
 
Remaining Elements in List:
13
17
19
11

Reference:


Article Tags :
C#