List<T>.ForEach(Action<T>) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utför den angivna åtgärden på varje element i 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))
Parametrar
Undantag
action är null.
Ett element i samlingen har ändrats.
Exempel
I följande exempel visas hur ombudet Action<T> används för att skriva ut innehållet i ett List<T> objekt. I det här exemplet Print används metoden för att visa innehållet i listan i konsolen.
Note
Förutom att visa innehållet med hjälp av Print metoden visar C#-exemplet användningen av anonyma metoder för att visa resultatet för konsolen.
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
Kommentarer
Action<T> är ett ombud till en metod som utför en åtgärd på objektet som skickas till den. Elementen i den aktuella List<T> skickas individuellt till ombudet Action<T> .
Den här metoden är en O(n)-åtgärd, där n är Count.
Det går inte att ändra den underliggande samlingen i ombudets Action<T> brödtext och orsakar odefinierat beteende.