/ / Pour convertir foreach en linq [dupliquer] - c #, asp.net, linq, c # -4.0, foreach

Pour convertir foreach en linq [dupliquer] - c #, asp.net, linq, c # -4.0, foreach

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 № 1

Aller à 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.