Parallel LINQ in .NET C#: the ForAll() extension

The ForAll() extension is part of the Linq to Objects library. It allows to execute an Action on each item in the query. It can be used in conjunction with parallel queries as well to perform actions such as filtering on each item of a ParallelQuery.

The following example takes each item in an integer array, selects only the even numbers and then prints each item and it square root:

int[] integerArray = new int[50];
for (int i = 0; i < integerArray.Length; i++)
{
	integerArray[i] = i;
}

integerArray.AsParallel()
	.Where(item => item % 2 == 0)
	.ForAll(item => Console.WriteLine("Item {0} Result {1}",
		item, Math.Sqrt(item)));

View the list of posts on the Task Parallel Library here.

Unknown's avatarAbout Andras Nemes
I'm a .NET/Java developer living and working in Stockholm, Sweden.

One Response to Parallel LINQ in .NET C#: the ForAll() extension

  1. Thanks. I understand it now. Just working towards my 70-483 exam next week

Leave a reply to Matthew Diggidee Speakman Cancel reply

Elliot Balynn's Blog

A directory of wonderful thoughts

Software Engineering

Web development

Disparate Opinions

Various tidbits

chsakell's Blog

WEB APPLICATION DEVELOPMENT TUTORIALS WITH OPEN-SOURCE PROJECTS

Once Upon a Camayoc

ARCHIVED: Bite-size insight on Cyber Security for the not too technical.