Erg, estou tentando encontrar esses dois métodos na BCL usando o Reflector, mas não consigo localizá-los. Qual é a diferença entre esses dois trechos?
UMA:
IEnumerable<string> items = ...
Parallel.ForEach(items, item => {
...
});
B:
IEnumerable<string> items = ...
foreach (var item in items.AsParallel())
{
...
}
Existem consequências diferentes do uso de um sobre o outro? (Suponha que tudo o que estou fazendo nos corpos entre colchetes dos dois exemplos seja seguro para threads.)