Bonjour
Dans le livre Link in Action, (Linq ! ) je lis :
Ce que je ne comprends pas, c'est "foreach (TSource element in source)"Let’s take a deeper look at the Where method and analyze how it works. This
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var processes = Process.GetProcesses() .Where(process => process.WorkingSet64 > 20*1024*1024) .OrderByDescending(process => process.WorkingSet64) .Select(process => new { process.Id, Name=process.ProcessName });
method is provided by the System.Linq.Enumerable class. Here again is how it’s implemented, as we showed in listing 3.2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public static IEnumerable<TSource> Where<TSource>( this IEnumerable<TSource> source, Func<TSource, Boolean> predicate) { foreach (TSource element in source) { if (predicate(element)) yield return element; } }
Dans ce cas, element est du type TSource. Mais source est aussi du type TSource, non ? Dans ce cas précis, c'est un objet de type Process[]. Cela ne devrait pas être un Process ?
Partager