Я хочу обработать что-то, используя параллельный цикл, например:
public void FillLogs(IEnumerable<IComputer> computers)
{
Parallel.ForEach(computers, cpt=>
{
cpt.Logs = cpt.GetRawLogs().ToList();
});
}
Хорошо, все работает нормально. Но как это сделать, если я хочу метод FillLogs возвращает IEnumerable?
public IEnumerable<IComputer> FillLogs(IEnumerable<IComputer> computers)
{
Parallel.ForEach(computers, cpt=>
{
cpt.Logs = cpt.GetRawLogs().ToList();
yield return cpt // KO, don't work
});
}
EDIT
Кажется, это невозможно ... но я использую что-то вроде этого:
public IEnumerable<IComputer> FillLogs(IEnumerable<IComputer> computers)
{
return computers.AsParallel().Select(cpt => cpt);
}
Но где я поместил cpt.Logs = cpt.GetRawLogs () .ToList ();
инструкция