ParallelEnumerable
has a static member AsParallel
. If I have an IEnumerable<T>
and want to use Parallel.ForEach
does that imply that I should always be using AsParallel
?
e.g. Are both of these correct (everything else being equal)?
without AsParallel
:
List<string> list = new List<string>();
Parallel.ForEach<string>(GetFileList().Where(file => reader.Match(file)), f => list.Add(f));
or with AsParallel
?
List<string> list = new List<string>();
Parallel.ForEach<string>(GetFileList().Where(file => reader.Match(file)).AsParallel(), f => list.Add(f));