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)); }
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)); }
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)); }
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)); }
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()); }
public TResult[] ToArray() => Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).ToArray(_resultSelector);
public int GetCount(bool onlyIfCheap) => onlyIfCheap ? -1 : Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).Count;
public List <IGrouping <TKey, TElement> > ToList() { IIListProvider <IGrouping <TKey, TElement> > lookup = Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer); return(lookup.ToList()); }
public List <TResult> ToList() => Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).ToList(_resultSelector);
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)); }