Parallel.ForEach<TSource> Method (IEnumerable<TSource>, ParallelOptions, Action<TSource>)
Executes a foreach (For Each in Visual Basic) operation on an IEnumerable in which iterations may run in parallel and loop options can be configured.
Namespace: System.Threading.Tasks
Assembly: mscorlib (in mscorlib.dll)
public static ParallelLoopResult ForEach<TSource>( IEnumerable<TSource> source, ParallelOptions parallelOptions, Action<TSource> body )
Type Parameters
- TSource
The type of the data in the source.
Parameters
- source
- Type: System.Collections.Generic.IEnumerable<TSource>
An enumerable data source.
- parallelOptions
- Type: System.Threading.Tasks.ParallelOptions
An object that configures the behavior of this operation.
- body
- Type: System.Action<TSource>
The delegate that is invoked once per iteration.
Return Value
Type: System.Threading.Tasks.ParallelLoopResultA structure that contains information about which portion of the loop completed.
| Exception | Condition |
|---|---|
| OperationCanceledException | The CancellationToken in the parallelOptions argument is canceled |
| ArgumentNullException | The source argument is null. -or- The parallelOptions argument is null. -or- The body argument is null. |
| AggregateException | The exception that contains all the individual exceptions thrown on all threads. |
| ObjectDisposedException | The CancellationTokenSource associated with the CancellationToken in the parallelOptions has been disposed. |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.