Array.ForEach<T>(T[], Action<T>) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет указанное действие с каждым элементом указанного массива.
public:
generic <typename T>
static void ForEach(cli::array <T> ^ array, Action<T> ^ action);
public static void ForEach<T> (T[] array, Action<T> action);
static member ForEach : 'T[] * Action<'T> -> unit
Public Shared Sub ForEach(Of T) (array As T(), action As Action(Of T))
Параметры типа
- T
Тип элементов массива.
Параметры
- array
- T[]
Одномерный массив Array, индексация которого начинается с нуля и для элементов которого нужно выполнить данное действие.
Исключения
Примеры
В следующем примере показано, как использовать для ForEach отображения квадратов каждого элемента в массиве целых чисел.
using namespace System;
public ref class SamplesArray
{
public:
static void Main()
{
// create a three element array of integers
array<int>^ intArray = gcnew array<int> {2, 3, 4};
// set a delegate for the ShowSquares method
Action<int>^ action = gcnew Action<int>(ShowSquares);
Array::ForEach(intArray, action);
}
private:
static void ShowSquares(int val)
{
Console::WriteLine("{0:d} squared = {1:d}", val, val*val);
}
};
int main()
{
SamplesArray::Main();
}
/*
This code produces the following output:
2 squared = 4
3 squared = 9
4 squared = 16
*/
using System;
public class SamplesArray
{
public static void Main()
{
// create a three element array of integers
int[] intArray = new int[] {2, 3, 4};
// set a delegate for the ShowSquares method
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);
}
}
/*
This code produces the following output:
2 squared = 4
3 squared = 9
4 squared = 16
*/
open System
let showSquares val' =
printfn $"%i{val'} squared = %i{val' * val'}"
// create a three element array of integers
let intArray = [| 2..4 |]
Array.ForEach(intArray, showSquares)
// Array.iter showSquares intArray
// This code produces the following output:
// 2 squared = 4
// 3 squared = 9
// 4 squared = 16
Public Class SamplesArray
Public Shared Sub Main()
' create a three element array of integers
Dim intArray() As Integer = New Integer() {2, 3, 4}
' set a delegate for the ShowSquares method
Dim action As New Action(Of Integer)(AddressOf ShowSquares)
Array.ForEach(intArray, action)
End Sub
Private Shared Sub ShowSquares(val As Integer)
Console.WriteLine("{0:d} squared = {1:d}", val, val*val)
End Sub
End Class
' This code produces the following output:
'
' 2 squared = 4
' 3 squared = 9
' 4 squared = 16
Комментарии
— Action<T> это делегат метода, который выполняет действие над переданным ему объектом. Элементы по отдельности array
передаются в Action<T>.
Этот метод является операцией O(n
), где n
— из Lengtharray
.
В F# можно использовать функцию Array.iter .