Я хочу обработать что-то с помощью параллельного цикла следующим образом:
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
});
}
ИЗМЕНИТЬ
Кажется, это не возможно... но я использую что-то вроде этого:
public IEnumerable<IComputer> FillLogs(IEnumerable<IComputer> computers)
{
return computers.AsParallel().Select(cpt => cpt);
}
Но где я помещаю команду cpt.Logs = cpt.GetRawLogs().ToList();