Parallel LINQ in .NET C#: the ForAll() extension
April 8, 2014 1 Comment
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.
Thanks. I understand it now. Just working towards my 70-483 exam next week