Dans l'exemple ci-dessous, comment puis-je facilement convertir eventScores
en List<int>
afin que je puisse l'utiliser comme paramètre pour prettyPrint
?Comment faire pour convertir System.Linq.Enumerable.WhereListIterator <int> à la liste <int>?
Console.WriteLine("Example of LINQ's Where:");
List<int> scores = new List<int> { 1,2,3,4,5,6,7,8 };
var evenScores = scores.Where(i => i % 2 == 0);
Action<List<int>, string> prettyPrint = (list, title) =>
{
Console.WriteLine("*** {0} ***", title);
list.ForEach(i => Console.WriteLine(i));
};
scores.ForEach(i => Console.WriteLine(i));
prettyPrint(scores, "The Scores:");
foreach (int score in evenScores) { Console.WriteLine(score); }
Pff , code lent! i => (i & 1) == 0 – leppie
Pfft, micro-optimisations non pilotées par le profilage. La création de l'itérateur et la copie à la liste seront des centaines de fois plus lentes que les économies réalisées en optimisant les mathématiques. * Optimiser les choses lentes. * –