C# | Performing Specified action on each element of Array (original) (raw)

Last Updated : 06 Oct, 2021

Array.ForEach(T[], Action) Method is used to perform the specified action on each element of the specified array.

Syntax:

public static void ForEach (T[] array, Action action);

Parameters:

array: The one-dimensional, zero-based Array on whose elements the action is to be performed.
action: The Action to perform on each element of array.

Exception: This method throws ArgumentNullException array is null or action is null.
Below programs illustrate the use of Array.ForEach(T[], Action) Method:
Example 1:

CSHARP `

// C# program to demonstrate // Array.ForEach(T[], Action) // Method using System; using System.Collections.Generic;

class GFG {

// Main Method
public static void Main()
{

    try {

        // Creating and initializing
        // new Array of int
        int[] myArr = { 2, 3, 4, 5 };

        // Display the values of the myArr.
        Console.Write("Initial Array: ");

        // calling the PrintIndexAndValues()
        // method to print
        PrintIndexAndValues(myArr);

        // set a delegate for
        // the SetSquares method
        Action<int> action = new Action<int>(SetSquares);

        // performing the action
        // using ForEach() method
        Array.ForEach(myArr, action);
    }
    catch (ArgumentNullException e) {

        Console.Write("Exception Thrown: ");
        Console.Write("{0}", e.GetType(), e.Message);
    }
}

// Defining the method
// PrintIndexAndValues
public static void PrintIndexAndValues(int[] myArr)
{
    for (int i = 0; i < myArr.Length; i++) {

        Console.Write("{0} ", myArr[i]);
    }
    Console.WriteLine();
    Console.WriteLine();
}

// Defining the method
// ShowSquares
private static void SetSquares(int val)
{
    Console.WriteLine("{0} squared = {1}",
                          val, val * val);
}

}

`

Output:

Initial Array: 2 3 4 5

2 squared = 4 3 squared = 9 4 squared = 16 5 squared = 25

Example 2:

CSHARP `

// C# program to demonstrate // Array.ForEach(T[], Action) // Method using System; using System.Collections.Generic;

public class GFG {

// Main Method
public static void Main()
{

    try {

        // Creating and initializing 
        // new Array of with null
        int[] myArr = null;

        // set a delegate for
        // the Set Squares method
        Action<int> action = new Action<int>(SetSquares);

        // performing the action
        // using ForEach() method
        Console.WriteLine("Trying to perform "
                   +"action on a null Array");
        Console.WriteLine();
        Array.ForEach(myArr, action);
    }
    catch (ArgumentNullException e) {

        Console.Write("Exception Thrown: ");
        Console.Write("{0}", e.GetType(), e.Message);
    }
}

// Defining the method
// PrintIndexAndValues
public static void PrintIndexAndValues(int[] myArr)
{
    for (int i = 0; i < myArr.Length; i++) {

        Console.Write("{0} ", myArr[i]);
    }
    Console.WriteLine();
    Console.WriteLine();
}

// Defining the method
// ShowSquares
private static void SetSquares(int val)
{
    Console.WriteLine("{0} squared = {1}", val, val * val);
}

}

`

Output:

Trying to perform action on a null Array

Exception Thrown: System.ArgumentNullException

Reference: