コード例 #1
0
 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));
 }
コード例 #2
0
 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));
 }
コード例 #3
0
 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));
 }
コード例 #4
0
ファイル: Lookup.cs プロジェクト: rogeryu23/corefx
 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));
 }
コード例 #5
0
ファイル: Lookup.cs プロジェクト: wagnerhsu/dotnet-corefx
        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));
        }
コード例 #6
0
ファイル: Lookup.cs プロジェクト: lodejard/AllNetCore
        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));
        }
コード例 #7
0
ファイル: Enumerable.cs プロジェクト: Terricide/Theraot
 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));
 }
コード例 #8
0
 public IEnumerator <IGrouping <TKey, TElement> > GetEnumerator() =>
 Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).GetEnumerator();
コード例 #9
0
        public IEnumerator <TResult> GetEnumerator()
        {
            Lookup <TKey, TElement> lookup = Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer);

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

            return(lookup.ToList());
        }
コード例 #14
0
 public List <TResult> ToList() =>
 Lookup <TKey, TElement> .Create(_source, _keySelector, _elementSelector, _comparer).ToList(_resultSelector);
コード例 #15
0
ファイル: GroupedEnumerable.cs プロジェクト: yuyu2you/X_NET20
 public IEnumerator <IGrouping <TKey, TElement> > GetEnumerator()
 {
     return(Lookup <TKey, TElement> .Create <TSource>(this.source, this.keySelector, this.elementSelector, this.comparer).GetEnumerator());
 }
コード例 #16
0
 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));
 }