Böyle paralel döngü kullanarak bir şey işlemek istiyorum:Paralel.Foreach + verim dönüşü mü?
public void FillLogs(IEnumerable<IComputer> computers)
{
Parallel.ForEach(computers, cpt=>
{
cpt.Logs = cpt.GetRawLogs().ToList();
});
}
Tamam, gayet iyi çalışıyor. Ancak FillLogs yönteminin IEnumerable döndürmesini istersem nasıl yapmalıyım?
public IEnumerable<IComputer> FillLogs(IEnumerable<IComputer> computers)
{
Parallel.ForEach(computers, cpt=>
{
cpt.Logs = cpt.GetRawLogs().ToList();
yield return cpt // KO, don't work
});
}
DÜZENLEME
mümkün olmamaya görünüyor ... ama böyle bir şey kullanın:
public IEnumerable<IComputer> FillLogs(IEnumerable<IComputer> computers)
{
return computers.AsParallel().Select(cpt => cpt);
}
Ama cpt.Logs = cpt.GetRawLogs().ToList();
talimat
"IEnumerable" dönüş tipiniz yükü almayacaktır. –