C# | Performing Specified action on each element of Array - GeeksforGeeks

06 Oct, 2021
Array.ForEach(T[], Action<T>) Method is used to perform the specified action on each element of the specified array. 
Syntax:  
public static void ForEach<T> (T[] array, Action<T> 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<T>)// Methodusing 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);    }}
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<T>)// Methodusing 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);    }}
Trying to perform action on a null Array

Exception Thrown: System.ArgumentNullException
 
Reference: 
https://docs.microsoft.com/en-us/dotnet/api/system.array.foreach?view=netframework-4.7.2
surindertarika1234
simranarora5sos
CSharp-Arrays
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Top 50 C# Interview Questions & Answers
Extension Method in C#
HashSet in C# with Examples
Partial Classes in C#
C# | Inheritance
Convert String to Character Array in C#
Linked List Implementation in C#
C# | How to insert an element in an Array?
C# | List Class
Difference between Hashtable and Dictionary in C#