Parallel.ForEach не компилируется, так как не понятно где ошибка в создании цикла. - C#

Узнай цену своей работы

Формулировка задачи:

        public ObservableCollection<string> ObsCollLinksFromFile
        {
            get { return obsCollStr; }
        }
Есть цикл:
foreach (string link in ObsCollLinksFromFile)
{
    if (bw.CancellationPending)
    {
        e1.Cancel = true;
        return;
    }
 
    Dispatcher.Invoke(new Action(() =>
    {
        progressBar.Value += 1;
        listBoxPreview.SelectedItem = link;
        listBoxPreview.ScrollIntoView(listBoxPreview.SelectedItem);
    }));
    AddRadioStationToList(link, obsCollGenresTemp, obsCollCountryTemp, obsCollRadioTemp);
}
Я хочу переделать его в Parallel.ForEach Но не получается, вот как написал:
Parallel.ForEach<ObservableCollection<string>>(ObsCollLinksFromFile, new Action<string>((link) =>
    {
        if (bw.CancellationPending)
        {
            e1.Cancel = true;
            return;
        }
 
        Dispatcher.Invoke(new Action(() =>
        {
            progressBar.Value += 1;
            listBoxPreview.SelectedItem = link;
            listBoxPreview.ScrollIntoView(listBoxPreview.SelectedItem);
        }));
        AddRadioStationToList(link, obsCollGenresTemp, obsCollCountryTemp, obsCollRadioTemp);
    }));

Решение задачи: «Parallel.ForEach не компилируется, так как не понятно где ошибка в создании цикла.»

textual
Листинг программы
Parallel.ForEach(ObsCollLinksFromFile, (link) =>
    {
        if (bw.CancellationPending)
        {
            e1.Cancel = true;
            return;
        }
 
        Dispatcher.Invoke(new Action(() =>
        {
            progressBar.Value += 1;
            listBoxPreview.SelectedItem = link;
            listBoxPreview.ScrollIntoView(listBoxPreview.SelectedItem);
        }));
        AddRadioStationToList(link, obsCollGenresTemp, obsCollCountryTemp, obsCollRadioTemp);
    });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы