예제 #1
0
        public static IIterable <TResult> Select <TSource, TResult>(this IIterable <TSource> source, Func <TSource, TResult> selector)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }

            var linkIterable = source as ILinkIterable <TSource>;

            if (linkIterable != null)
            {
                return(linkIterable.Select(selector));
            }
            return(new LinkIterable <TSource, TResult>(source, Iterator.Select(selector)));
        }
예제 #2
0
 public ILinkIterable <TNewResult> Select <TNewResult>(Func <TResult, TNewResult> selector)
 {
     return(new LinkIterable <TSource, TNewResult>(iterable, Iterator.Select(this.link, selector)));
 }