List<T>.ForEach(Action<T>) List<T>.ForEach(Action<T>) List<T>.ForEach(Action<T>) List<T>.ForEach(Action<T>) Method

Определение

Выполняет указанное действие с каждым элементом списка List<T>.Performs the specified action on each element of the List<T>.

public:
 void ForEach(Action<T> ^ action);
public void ForEach (Action<T> action);
member this.ForEach : Action<'T> -> unit
Public Sub ForEach (action As Action(Of T))

Параметры

action
Action<T> Action<T> Action<T> Action<T>

Делегат Action<T>, выполняемый для каждого элемента списка List<T>.The Action<T> delegate to perform on each element of the List<T>.

Исключения

Свойство action имеет значение null.action is null.

Элемент в коллекции изменен.An element in the collection has been modified.

Примеры

В следующем примере показано использование Action<T> делегата для вывода содержимого List<T> объекта.The following example demonstrates the use of the Action<T> delegate to print the contents of a List<T> object. В этом примере Print метод используется для вывода содержимого списка на консоль.In this example the Print method is used to display the contents of the list to the console.

Примечание

Кроме отображения содержимого с помощью Print метода, в C# примере демонстрируется использование анонимных методов для отображения результатов на консоли.In addition to displaying the contents using the Print method, the C# example demonstrates the use of anonymous methods to display the results to the console.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<String> names = new List<String>();
        names.Add("Bruce");
        names.Add("Alfred");
        names.Add("Tim");
        names.Add("Richard");

        // Display the contents of the list using the Print method.
        names.ForEach(Print);

        // The following demonstrates the anonymous method feature of C#
        // to display the contents of the list to the console.
        names.ForEach(delegate(String name)
        {
            Console.WriteLine(name);
        });
    }

    private static void Print(string s)
    {
        Console.WriteLine(s);
    }
}
/* This code will produce output similar to the following:
 * Bruce
 * Alfred
 * Tim
 * Richard
 * Bruce
 * Alfred
 * Tim
 * Richard
 */
Imports System.Collections.Generic

Class Program
    Shared Sub Main()
        Dim names As New List(Of String)
        names.Add("Bruce")
        names.Add("Alfred")
        names.Add("Tim")
        names.Add("Richard")

        ' Display the contents of the list using the Print method.
        names.ForEach(AddressOf Print)
    End Sub

    Shared Sub Print(ByVal s As String)
        Console.WriteLine(s)
    End Sub
End Class

' This code will produce output similar to the following:
' Bruce
' Alfred
' Tim
' Richard

Комментарии

Action<T> — Это делегат метода, который выполняет действие с объектом, переданным ему.The Action<T> is a delegate to a method that performs an action on the object passed to it. Элементы текущего List<T> объекта передаются в делегат по Action<T> отдельности.The elements of the current List<T> are individually passed to the Action<T> delegate.

Этот метод является операцией O (n), где nCount.This method is an O(n) operation, where n is Count.

Изменение базовой коллекции в теле Action<T> делегата не поддерживается и приводит к неопределенному поведению.Modifying the underlying collection in the body of the Action<T> delegate is not supported and causes undefined behavior.

Применяется к

Дополнительно