C# | Realización de acciones especificadas en cada elemento de Array

El método Array.ForEach(T[], Action<T>) se usa para realizar la acción especificada en cada elemento de la array especificada.
 

Sintaxis:  

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

Parámetros: 

array: la array unidimensional de base cero en cuyos elementos se va a realizar la acción. 
acción: la acción a realizar en cada elemento de la array .  

Excepción: este método arroja ArgumentNullException , la array es nula o la acción es nula.
Los siguientes programas ilustran el uso del método Array.ForEach(T[], Action) :
Ejemplo 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);
    }
}
Producción: 

Initial Array: 2 3 4 5 

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

 

Ejemplo 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);
    }
}
Producción: 

Trying to perform action on a null Array

Exception Thrown: System.ArgumentNullException

 

Referencia: 

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *