Cómo convertir lo siguiente c# foreach
a linq
codigo
var structure = "names structure";
var names = "name1, name2, name3";
foreach (var name in namesList)
{
BuildPage(name, structure, names);
}
Respuestas
3 para la respuesta № 1Yendo contra el grano, puedes usar el .ForEach
bucle que toma un Action
parámetro.
namesList.ForEach(x => BuildPage(x, structure, names));
Pero si que Rene Vogt
dijo.
3 para la respuesta № 2
No hay necesidad de convertir esto a LINQ.
Lo que haces aquí es iniciar una acción / llamar a un método para cada uno name
en namesList
(tal como lo dice su código). Así que quieres crear efectos secundarios para todos los elementos de tu colección.
LINQ tiene un funcional enfoque. Por lo tanto, su propósito es tomar los valores de un conjunto y crear otro conjunto por Proyección, filtrado y / o agregación., pero no para crear efectos secundarios en esos elementos.
Su código tal como está es legible y efectivo, no es necesario convertirlo en una declaración LINQ mal utilizada.