public static IIterable <TSource> Where <TSource>(this IIterable <TSource> source, Func <TSource, bool> predicate) { if (source == null) { throw new ArgumentNullException("source"); } if (predicate == null) { throw new ArgumentNullException("predicate"); } var linkIterable = source as ILinkIterable <TSource>; if (linkIterable != null) { return(linkIterable.Where(predicate)); } return(new LinkIterable <TSource, TSource>(source, Iterator.Where(predicate))); }
public ILinkIterable <TResult> Where(Func <TResult, bool> predicate) { return(new LinkIterable <TSource, TResult>(iterable, Iterator.Where(this.link, predicate))); }