Вот пример взятия последовательности чисел, выполнения некоторых дорогостоящих операций над каждым из них параллельно, а затем агрегирования результата (не параллельно).
int[] numbers = { 1, 1, 2, 3, 5, 8, 13 };
int[] squaredNumbers = new int[numbers.Length];
Parallel.For(0, numbers.Length, i => squaredNumbers[i] = (int)Math.Pow(numbers[i], 2));
int sum = squaredNumbers.Sum();
Просто будьте осторожны с безопасностью потоков в операции, которую вы выполняете в делегате.