C# 数组 - ForEach() 方法

C# 数组 ForEach() 方法用于对数组的每个元素执行指定的操作。

该操作是一个 lambda 表达式,用于对传入的对象执行操作。数组的元素被单独传递给 Action<T>。

语法

以下是 C# 数组 ForEach() 方法的语法 -

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

参数

此方法接受以下参数 -

  • array:要对其元素执行操作的一维零数组。
  • action:要对数组中每个元素执行的操作。

返回值

此方法不返回任何值。

示例 1:显示数组元素

这是一个基础示例,展示了如何使用 ForEach() 显示数组中的每个元素 -

using System;

class Program {
   static void Main() {
      int[] numbers = { 1, 2, 3, 4, 5 };

      
      Array.ForEach(numbers, number => Console.WriteLine(number));
   }
}

输出

以下是输出 -

1
2
3
4
5

示例 2:将每个元素乘以 2

让我们创建一个示例,显示将每个元素乘以 2。我们使用 ForEach() 方法执行每个元素的计算 -

using System;

class Program {
   static void Main() {
      int[] numbers = { 1, 2, 3, 4, 5 };

      // 将每个数字乘以 2 并打印出来
      Array.ForEach(numbers, number => Console.WriteLine(number * 2));
   }
}

输出

以下是输出 -

2
4
6
8
10

示例 3:修改对象属性

让我们看另一个 ForEach() 方法的示例,在这里我们将操作 Person 对象的属性 -

using System;

class Person {
   public string Name {
      get;
      set;
   }
   public int Age {
      get;
      set;
   }
}

class Program {
   static void Main() {
      Person[] people = {
         new Person {
            Name = "Jessica", Age = 25
         },
         new Person {
            Name = "Luna", Age = 27
         },
         new Person {
            Name = "Amber", Age = 33
         }
      };

      // 将每个人的年龄增加 2
      Array.ForEach(people, person => person.Age += 2);

      // 显示更新后的年龄
      Array.ForEach(people, person => Console.WriteLine($"{person.Name}: {person.Age}"));
   }
}

输出

以下是输出 -

Jessica: 27
Luna: 29
Amber: 35

示例 4:计算每个元素的平方

以下示例使用 ForEach() 方法执行操作来计算数组中每个元素的平方 -

using System;

public class SamplesArray {
   public static void Main() {
      int[] intArray = new int[] {2, 3, 4};

      // 为 ShowSquares 方法设置委托
      Action <int> action = new Action <int> (ShowSquares);

      Array.ForEach(intArray, action);
   }
   private static void ShowSquares(int val) {
      Console.WriteLine("{0:d} squared = {1:d}", val, val * val);
   }
}

输出

以下是输出 -

2 squared = 4
3 squared = 9
4 squared = 16

csharp_array_class.html