ParallelEnumerable.ForAll<TSource> Method (ParallelQuery<TSource>, Action<TSource>)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Invokes in parallel the specified action for each element in the source.

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static void ForAll<TSource>(
	this ParallelQuery<TSource> source,
	Action<TSource> action


Type: System.Linq.ParallelQuery<TSource>

The ParallelQuery<TSource> whose elements will be processed by action.

Type: System.Action<TSource>

An Action to invoke on each element.

Type Parameters


The type of elements of source.

Exception Condition

The query was canceled with the token passed in through WithCancellation.


source or action is a null reference (Nothing in Visual Basic).


One or more exceptions occurred during the evaluation of the query.

This is an efficient way to process the output from a parallelized query because it does not require a merge step at the end. For more information, see Merge Options in PLINQ or Order Preservation in PLINQ. Because this method produces a side-effect, it can be used to observe the actual order of execution in a parallel query.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top