Il y a aussi une .Laissez l'extension de la méthode dans le Système.Interactif, mais son but est d'introduire une expression lambda pour être évalué "en ligne" dans un fluide expression. Par exemple, considérer (dans LinqPad, disons) l'expression suivante qui crée de nouveaux nombres aléatoires à chaque fois qu'il est exécuté:
var seq = EnumerableEx.Generate(
new Random(),
_ => true,
_ => _,
x => x.Next());
De voir que de nouveaux échantillons aléatoires apparaissent de temps, considérer les points suivants
seq.Zip(seq, Tuple.Create).Take(3).Dump();
qui produit les paires dans lequel la gauche et la droite sont différentes. Pour produire des paires dans lequel la gauche et la droite sont toujours les mêmes, de faire quelque chose comme ce qui suit:
seq.Take(3).ToList().Let(xs => xs.Zip(xs, Tuple.Create)).Dump();
Si l'on pouvait invoquer les expressions lambda directement, on pourra écrire
(xs => xs.Zip(xs, Tuple.Create))(seq.Take(3).ToList()).Dump();
Mais on ne peut pas invoquer les expressions lambda, comme s'ils étaient des méthodes.