C# | How to perform a specified action on each element of the List

List<T>.ForEach(Action<T>) Method is used to perform a specified action on each element of 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 ForEach (Action action);

Parameter:

action: It is the Action<T> delegate to perform on each element of the List<T>.

Exceptions:

  • ArgumentNullException: If the action is null.
  • InvalidOperationException: If an element in the collection has been modified.

Below programs illustrate the use List<T>.ForEach(Action<T>) Method:

Example 1:




// C# Program to perform a specified
// action on each element of the List<T>
using System;
using System.Collections;
using System.Collections.Generic;
  
class Beginner {
  
    // display method
    static void display(string str)
    {
        Console.WriteLine(str);
    }
  
    // 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("Beginner");
        firstlist.Add("For");
        firstlist.Add("Beginner");
        firstlist.Add("GFG");
        firstlist.Add("C#");
        firstlist.Add("Tutorials");
        firstlist.Add("w3wiki");
  
        // using ForEach Method
        // which calls display method
        // on each element of the List
        firstlist.ForEach(display);
    }
}


Output:

Beginner
For
Beginner
GFG
C#
Tutorials
w3wiki

Example 2:




// C# Program to perform a specified
// action on each element of the List<T>
using System;
using System.Collections;
using System.Collections.Generic;
  
class Beginner {
  
    // display method
    static void display(int str)
    {
          
        str = str + 5;
        Console.WriteLine(str);
    }
  
    // 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);
  
        // using ForEach Method
        // which calls display method
        // on each element of the List
        firstlist.ForEach(display);
    }
}


Output:

6
7
8
9
10
11
12

Reference:

  • https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.foreach?view=netframework-4.7.2