Partilhar via


List<T>.ForEach(Action<T>) Método

Definição

Executa a ação especificada em cada elemento do 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))

Parâmetros

action
Action<T>

O delegado Action<T> a ser executado em cada elemento do List<T>.

Exceções

action é null.

Um elemento na coleção foi modificado.

Exemplos

O exemplo a seguir demonstra o uso do Action<T> delegado para imprimir o conteúdo de um List<T> objeto . Neste exemplo, o Print método é usado para exibir o conteúdo da lista no console.

Observação

Além de exibir o conteúdo usando o Print método , o exemplo C# demonstra o uso de métodos anônimos para exibir os resultados no 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

Comentários

O Action<T> é um delegado para um método que executa uma ação no objeto passado para ele. Os elementos do atual List<T> são passados individualmente para o Action<T> delegado.

Esse método é uma operação O(n), em que n é Count.

Não há suporte para a modificação da coleção subjacente no corpo do Action<T> delegado e causa um comportamento indefinido.

Aplica-se a

Confira também