linq/sieve-query-operator.cs - The Sieve query operator. | Lecture 16 - slide 11 : 11 Program 1 |
using System; using System.Collections.Generic; using System.Linq; public static class IEnumerableExtension { public static IEnumerable<long> Sieve(this IEnumerable<long> source){ long first = source.First(); yield return first; foreach (long i in source.Where(n => n % first != 0) .Sieve()){ yield return i; } } }