Традиційний цикл foreach є звичайним для ітерації колекцій у C#, але з багатоядерними процесорами розробники прагнуть розпаралелювати завдання для підвищення продуктивності. Паралельний. ForEach пропонує рішення для розподілу робочого навантаження між потоками для паралельного виконання.3 квітня 2024 р

ForEach виконується послідовно для елемента колекції. ParallelForEach запускає псевдопаралельно для елемента колекції.

Як ви бачите у наведеному вище виводі, стандартний цикл C# for виконує послідовні ітерації, використовуючи один потік. У результаті результати друкуються послідовно. З іншого боку, ви можете бачити, що за допомогою циклу Parallel for результати не друкуються в послідовному порядку.

Цикл Foreach використовує змінну циклу замість індексованого елемента для виконання ітерації. Цикл C# foreach вимагає лише оголошення змінної з тим самим типом даних, що й базовий тип колекції чи масиву, замість змінної лічильника циклу.

Різниця між цими двома сферами: Для кожного працює послідовно, тоді як Паралельний для кожного обробляє паралельно.

ForEach підвищує продуктивність. . NET Framework Task Parallel Library (TPL) може значно підвищити продуктивність обробки за рахунок більш ефективного використання всіх доступних ядер на головному комп’ютері. У типовій моделі виконання завдання (тобто одиниця роботи) виконується послідовно на одному ядрі ЦП.