List<T>.ForEach(Action<T>) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
Exceções
action é null.
Um elemento da coleção foi modificado.
Exemplos
O exemplo seguinte 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 mostrar o conteúdo da lista à consola.
Note
Para além de mostrar o conteúdo usando o Print método, o exemplo de C# demonstra o uso de métodos anónimos para mostrar os resultados à consola.
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
Observações
O Action<T> é um delegado a um método que executa uma ação sobre o objeto que lhe foi passado. Os elementos da corrente List<T> são entregues individualmente ao Action<T> delegado.
Este método é uma operação O(n), onde n é Count.
Modificar a coleção subjacente no corpo do Action<T> delegado não é suportado e causa comportamentos indefinidos.