Ejecutando una simple consulta LINQ en paralelo
Todavía soy muy nuevo en LINQ y PLINQ. Generalmente solo uso loops yList.BinarySearch
en muchos casos, pero estoy tratando de salir de esa mentalidad donde puedo.
public class Staff
{
// ...
public bool Matches(string searchString)
{
// ...
}
}
Usando LINQ "normal", lo siento, no estoy familiarizado con la terminología, puedo hacer lo siguiente:
var matchedStaff = from s
in allStaff
where s.Matches(searchString)
select s;
Pero me gustaría hacer esto en paralelo:
var matchedStaff = allStaff.AsParallel().Select(s => s.Matches(searchString));
Cuando compruebo el tipo dematchedStaff
, es una lista debool
s, que no es lo que quiero.
En primer lugar, ¿qué hago mal aquí y, en segundo lugar, cómo devuelvo unList<Staff>
de esta consulta?
public List<Staff> Search(string searchString)
{
return allStaff.AsParallel().Select(/* something */).AsEnumerable();
}
devolucionesIEnumerable<type>
noList<type>
.