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

Definition

Выполняет указанное действие с каждым элементом списка 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))

Parameters

action
Action<T>

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

Exceptions

action имеет значение null.action is null.

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

Examples

В следующем примере показано использование делегата 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.

Note

Кроме отображения содержимого с помощью метода 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.

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);
});

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

Remarks

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.

Applies to

See also