Comment convertir ce qui suit c# foreach
à linq
code?
var structure = "names structure";
var names = "name1, name2, name3";
foreach (var name in namesList)
{
BuildPage(name, structure, names);
}
Réponses:
3 pour la réponse № 1Aller à contre-courant, vous pouvez utiliser le .ForEach
boucle qui prend un Action
paramètre.
namesList.ForEach(x => BuildPage(x, structure, names));
Mais ouais quoi Rene Vogt
m'a dit.
3 pour la réponse № 2
Il n'est pas nécessaire de convertir ceci en LINQ.
Ce que vous faites ici est de commencer une action / appeler une méthode pour chaque name
dans namesList
(comme votre code l'indique). Vous souhaitez donc créer des effets secondaires pour tous les éléments de votre collection.
LINQ a un fonctionnel approche. Donc, le but est de prendre les valeurs d’un ensemble et de créer un autre ensemble en projection, filtrage et / ou agrégation, mais pas pour créer Effets secondaires sur ces éléments.
Votre code tel qu'il est est lisible et efficace, il n'est pas nécessaire de le transformer en une instruction LINQ mal utilisée.