Ehm, sto cercando di trovare questi due metodi nel BCL usando Reflector, ma non riesco a individuarli. Qual è la differenza tra questi due frammenti?
UN:
IEnumerable<string> items = ...
Parallel.ForEach(items, item => {
...
});
B:
IEnumerable<string> items = ...
foreach (var item in items.AsParallel())
{
...
}
Ci sono diverse conseguenze nell'usare l'una sull'altra? (Supponiamo che tutto ciò che sto facendo nei corpi tra parentesi di entrambi gli esempi sia thread-safe.)