C# | Performing Specified action on each element of Array
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>) // 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<T>) // 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:
- https://docs.microsoft.com/en-us/dotnet/api/system.array.foreach?view=netframework-4.7.2