C# |对数组的每个元素执行指定的动作
阵列。ForEach(T[],Action < T >)方法用于对指定数组的每个元素执行指定的操作。
语法:
public static void ForEach<T> (T[] array, Action<T> action);
参数:
数组:要对其元素执行操作的一维、从零开始的数组。 动作:对阵各元素执行的动作。
异常:此方法抛出 ArgumentNullException 数组为空或动作为空。 下面的程序说明了阵列的使用。ForEach(T[],Action) 方法: 例 1:
c sharp . c sharp . c sharp . c sharp
// 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
例 2:
c sharp . c sharp . c sharp . c sharp
// 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
参考:
版权属于:月萌API www.moonapi.com,转载请注明出处