Parallel.Foreach + yield return?

Я хочу обработать что-то, используя параллельный цикл, например:

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 (); инструкция

25
задан Florian 7 December 2011 в 09:38
поделиться