.NET 4.x Распараллеливание. Parallel.ForEach - C#
Формулировка задачи:
На данный момент выполняется такой код:
Класс LectionPanel наследуется от TreeViewItem.
Листинг программы
- Hashtable files2copy;
- void startButton_Click(object sender, RoutedEventArgs e)
- {
- files2copy = new Hashtable();
- foreach (LectionPanel lPanel in treeView.Items)
- {
- LectionCount(lPanel);
- }
- }
- private void LectionCount(LectionPanel lPanel)
- {
- if (lPanel.HasItems)
- foreach (LectionPanel childPanel in lPanel.Items)
- {
- LectionCount(childPanel);
- }
- string path = lPanel.Lection.File;
- if(!files2copy.ContainsKey(path.GetHashCode()) && File.Exists(path))
- files2copy.Add(path.GetHashCode(), path);
- }
Вопрос: Как распараллелить код
Листинг программы
- foreach (LectionPanel lPanel in treeView.Items)
- {
- LectionCount(lPanel);
- }
используя Parallel.ForEach ?
Пытался, но ничего рабочего не вышло.Решение задачи: «.NET 4.x Распараллеливание. Parallel.ForEach»
textual
Листинг программы
- if (lPanel.HasItems)
- foreach (LectionPanel childPanel in lPanel.Items)
- {
- LectionCount(childPanel);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д