Я хочу преобразовать для цикла, который увеличивает итератор 2 каждыми передачами в Параллель Для цикла с помощью TPL. Данные не являются зависимым порядка или ограниченный всегда, но я только хочу обработать данные в любом элементе моего исходного массива (который является _Datalist в коде ниже), следовательно потребность увеличить 2.
Мой для цикла:
for (int i = 1; i < _DataList.Length - 1; i += 2)
{
// Do work for _DataList[i]
}
Действительно ли возможно сказать параллельному циклу, что я хочу увеличить i два вместо одного?
Вот Параллельный цикл, но очевидно я только увеличиваю 1 каждым повторением:
Task.Factory.StartNew(() =>
Parallel.For(1, _DataList.Length, i =>
{
// do work for _DataList[i]
})
);
Я мог сказать телу внутреннего цикла игнорировать нечетные значения меня, но это кажется мало грязным - там способ сделать его в инициализации цикла так или иначе?