Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1238 of 1492 menu
◀ ▶

PLINQ

Цепочку начинают с AsParallel над последовательностью. Sum от порядка не зависит. Если нужен исходный порядок элементов, добавляют AsOrdered. Императивный аналог - Parallel.ForEach. Пространство имён - System.Linq.

Синтаксис

using System.Linq; int total = source.AsParallel().Sum();

Пример

Давайте сложить пять чисел через AsParallel:

using System; using System.Linq; using System.Threading.Tasks; class Program { static void Main() { int res = new[] { 1, 2, 3, 4, 5 }.AsParallel().Sum(); Console.WriteLine(res); } }

Результат выполнения кода:

15

Пример

Давайте сравнить сумму с обычным Sum:

using System; using System.Linq; using System.Threading.Tasks; class Program { static void Main() { int[] data = { 1, 2, 3, 4, 5 }; int plain = data.Sum(); int parallel = data.AsParallel().Sum(); bool res = plain == parallel; Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте посчитать элементы через AsParallel:

using System; using System.Linq; using System.Threading.Tasks; class Program { static void Main() { int res = new[] { 1, 2, 3, 4, 5 } .AsParallel() .Count(); Console.WriteLine(res); } }

Результат выполнения кода:

5

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить