ForEach Method

List<T>.ForEach Method

Performs the specified action on each element of the List<T>.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

public void ForEach(
	Action<T> action


Type: System.Action<T>
The Action<T> delegate to perform on each element of the List<T>.


action is null.

The Action<T> is a delegate to a method that performs an action on the object passed to it. The elements of the current List<T> are individually passed to the Action<T> delegate.

This method is an O(n) operation, where n is Count.

The following example demonstrates the use of the Action<T> delegate to print the contents of a List<T> object. In this example the Print method is used to display the contents of the list to the console.


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 Example
   private static System.Windows.Controls.TextBlock outputBlock;

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)

      Example.outputBlock = outputBlock;
      List<String> names = new List<String>();

      // Display the contents of the list using the Print method.

      // The following demonstrates the anonymous method feature of C#
      // to display the contents of the list.
      names.ForEach(delegate(String name)
         outputBlock.Text += name + "\n";

   private static void Print(string s)
      outputBlock.Text += s + "\n";
/* This code will produce output similar to the following:
 * Bruce
 * Alfred
 * Tim
 * Richard
 * Bruce
 * Alfred
 * Tim
 * Richard


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

© 2015 Microsoft