public static ILookup <TKey, TElement> ToLookup <TSource, TKey, TElement>(
     this IEnumerable <TSource> source,
     Func <TSource, TKey> keySelector,
     Func <TSource, TElement> elementSelector)
 {
     return(Lookup <TKey, TElement> .Create(source, keySelector, elementSelector, null));
 }
 public static ILookup <TKey, TSource> ToLookup <TSource, TKey>(
     this IEnumerable <TSource> source,
     Func <TSource, TKey> keySelector,
     IEqualityComparer <TKey> comparer)
 {
     return(Lookup <TKey, TSource> .Create(source, keySelector, x => x, comparer));
 }
 public static IEnumerable <IGrouping <TKey, TElement> > GroupBy <TSource, TKey, TElement>(
     this IEnumerable <TSource> source,
     Func <TSource, TKey> keySelector,
     Func <TSource, TElement> elementSelector,
     IEqualityComparer <TKey> comparer)
 {
     return(Lookup <TKey, TElement> .Create(source, keySelector, elementSelector, comparer));
 }
Exemplo n.º 4
0
 public static ILookup <TKey, TSource> ToLookup <TSource, TKey>(this IEnumerable <TSource> source, Func <TSource, TKey> keySelector, IEqualityComparer <TKey> comparer)
 {
     if (source == null)
     {
         throw Error.ArgumentNull("source");
     }
     if (keySelector == null)
     {
         throw Error.ArgumentNull("keySelector");
     }
     return(Lookup <TKey, TSource> .Create(source, keySelector, comparer));
 }
Exemplo n.º 5
0
        public static ILookup <TKey, TSource> ToLookup <TSource, TKey>(this IEnumerable <TSource> source, Func <TSource, TKey> keySelector, IEqualityComparer <TKey>?comparer)
        {
            if (source == null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.source);
            }

            if (keySelector == null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.keySelector);
            }

            return(Lookup <TKey, TSource> .Create(source, keySelector, comparer));
        }
Exemplo n.º 6
0
        public static ILookup <TKey, TElement> ToLookup <TSource, TKey, TElement>(this IEnumerable <TSource> source, Func <TSource, TKey> keySelector, Func <TSource, TElement> elementSelector, IEqualityComparer <TKey> comparer)
        {
            if (source == null)
            {
                throw Error.ArgumentNull(nameof(source));
            }

            if (keySelector == null)
            {
                throw Error.ArgumentNull(nameof(keySelector));
            }

            if (elementSelector == null)
            {
                throw Error.ArgumentNull(nameof(elementSelector));
            }

            return(Lookup <TKey, TElement> .Create(source, keySelector, elementSelector, comparer));
        }
Exemplo n.º 7
0
 public static ILookup <TKey, TSource> ToLookup <TSource, TKey>(this IEnumerable <TSource> source, Func <TSource, TKey> keySelector)
 {
     return(Lookup <TKey, TSource> .Create(source, keySelector, FuncHelper.GetIdentityFunc <TSource>(), null));
 }
 public IEnumerator <IGrouping <TKey, TElement> > GetEnumerator() =>
 Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).GetEnumerator();
        public IEnumerator <TResult> GetEnumerator()
        {
            Lookup <TKey, TElement> lookup = Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer);

            return(lookup.ApplyResultSelector(_resultSelector).GetEnumerator());
        }
 public IEnumerator <TResult> GetEnumerator()
 {
     return(Lookup <TKey, TElement> .Create <TSource>(this.source, this.keySelector, this.elementSelector, this.comparer).ApplyResultSelector <TResult>(this.resultSelector).GetEnumerator());
 }
Exemplo n.º 11
0
 public TResult[] ToArray() =>
 Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).ToArray(_resultSelector);
Exemplo n.º 12
0
 public int GetCount(bool onlyIfCheap) =>
 onlyIfCheap ? -1 : Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).Count;
Exemplo n.º 13
0
        public List <IGrouping <TKey, TElement> > ToList()
        {
            IIListProvider <IGrouping <TKey, TElement> > lookup = Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer);

            return(lookup.ToList());
        }
Exemplo n.º 14
0
 public List <TResult> ToList() =>
 Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).ToList(_resultSelector);
Exemplo n.º 15
0
 public IEnumerator <IGrouping <TKey, TElement> > GetEnumerator()
 {
     return(Lookup <TKey, TElement> .Create <TSource>(this.source, this.keySelector, this.elementSelector, this.comparer).GetEnumerator());
 }
 public static ILookup <TKey, TSource> ToLookup <TSource, TKey>(this IEnumerable <TSource> source,
                                                                Func <TSource, TKey> keySelector)
 {
     return(Lookup <TKey, TSource> .Create(source, keySelector, x => x, null));
 }