Class Enumerable
  
  
  
    - Namespace
 - UniLinq
 
  - Assembly
 - Assembly-CSharp.dll
 
   
  
  
  
    public static class Enumerable
   
  
    - Inheritance
 
    - 
      
      
Enumerable
     
  
  
    - Inherited Members
 
    - 
    
    
    
    
    
    
    
  
 
  Methods
  
  
  Aggregate<TSource>(IEnumerable<TSource>, Func<TSource, TSource, TSource>)
  
  
  
  
  
    public static TSource Aggregate<TSource>(this IEnumerable<TSource> source, Func<TSource, TSource, TSource> func)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    func Func<TSource, TSource, TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)
  
  
  
  
  
    public static TAccumulate Aggregate<TSource, TAccumulate>(this IEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> func)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    seed TAccumulate 
    
    func Func<TAccumulate, TSource, TAccumulate> 
    
  
  Returns
  
    - TAccumulate
 
    
  
  Type Parameters
  
    TSource 
    
    TAccumulate 
    
  
  
  
  Aggregate<TSource, TAccumulate, TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>)
  
  
  
  
  
    public static TResult Aggregate<TSource, TAccumulate, TResult>(this IEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> func, Func<TAccumulate, TResult> resultSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    seed TAccumulate 
    
    func Func<TAccumulate, TSource, TAccumulate> 
    
    resultSelector Func<TAccumulate, TResult> 
    
  
  Returns
  
    - TResult
 
    
  
  Type Parameters
  
    TSource 
    
    TAccumulate 
    
    TResult 
    
  
  
  
  All<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static bool All<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Any<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static bool Any<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Any<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static bool Any<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  AsEnumerable<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> AsEnumerable<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average(IEnumerable<decimal>)
  
  
  
  
  
    public static decimal Average(this IEnumerable<decimal> source)
   
  Parameters
  
    source IEnumerable<decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  
  
  Average(IEnumerable<double>)
  
  
  
  
  
    public static double Average(this IEnumerable<double> source)
   
  Parameters
  
    source IEnumerable<double> 
    
  
  Returns
  
    - double
 
    
  
  
  
  Average(IEnumerable<int>)
  
  
  
  
  
    public static double Average(this IEnumerable<int> source)
   
  Parameters
  
    source IEnumerable<int> 
    
  
  Returns
  
    - double
 
    
  
  
  
  Average(IEnumerable<long>)
  
  
  
  
  
    public static double Average(this IEnumerable<long> source)
   
  Parameters
  
    source IEnumerable<long> 
    
  
  Returns
  
    - double
 
    
  
  
  
  Average(IEnumerable<decimal?>)
  
  
  
  
  
    public static decimal? Average(this IEnumerable<decimal?> source)
   
  Parameters
  
    source IEnumerable<decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  
  
  Average(IEnumerable<double?>)
  
  
  
  
  
    public static double? Average(this IEnumerable<double?> source)
   
  Parameters
  
    source IEnumerable<double?> 
    
  
  Returns
  
    - double?
 
    
  
  
  
  Average(IEnumerable<int?>)
  
  
  
  
  
    public static double? Average(this IEnumerable<int?> source)
   
  Parameters
  
    source IEnumerable<int?> 
    
  
  Returns
  
    - double?
 
    
  
  
  
  Average(IEnumerable<long?>)
  
  
  
  
  
    public static double? Average(this IEnumerable<long?> source)
   
  Parameters
  
    source IEnumerable<long?> 
    
  
  Returns
  
    - double?
 
    
  
  
  
  Average(IEnumerable<float?>)
  
  
  
  
  
    public static float? Average(this IEnumerable<float?> source)
   
  Parameters
  
    source IEnumerable<float?> 
    
  
  Returns
  
    - float?
 
    
  
  
  
  Average(IEnumerable<float>)
  
  
  
  
  
    public static float Average(this IEnumerable<float> source)
   
  Parameters
  
    source IEnumerable<float> 
    
  
  Returns
  
    - float
 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, decimal>)
  
  
  
  
  
    public static decimal Average<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, double>)
  
  
  
  
  
    public static double Average<TSource>(this IEnumerable<TSource> source, Func<TSource, double> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double> 
    
  
  Returns
  
    - double
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, int>)
  
  
  
  
  
    public static double Average<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int> 
    
  
  Returns
  
    - double
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, long>)
  
  
  
  
  
    public static double Average<TSource>(this IEnumerable<TSource> source, Func<TSource, long> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long> 
    
  
  Returns
  
    - double
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, decimal?>)
  
  
  
  
  
    public static decimal? Average<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, double?>)
  
  
  
  
  
    public static double? Average<TSource>(this IEnumerable<TSource> source, Func<TSource, double?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double?> 
    
  
  Returns
  
    - double?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, int?>)
  
  
  
  
  
    public static double? Average<TSource>(this IEnumerable<TSource> source, Func<TSource, int?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int?> 
    
  
  Returns
  
    - double?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, long?>)
  
  
  
  
  
    public static double? Average<TSource>(this IEnumerable<TSource> source, Func<TSource, long?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long?> 
    
  
  Returns
  
    - double?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, float?>)
  
  
  
  
  
    public static float? Average<TSource>(this IEnumerable<TSource> source, Func<TSource, float?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float?> 
    
  
  Returns
  
    - float?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Average<TSource>(IEnumerable<TSource>, Func<TSource, float>)
  
  
  
  
  
    public static float Average<TSource>(this IEnumerable<TSource> source, Func<TSource, float> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float> 
    
  
  Returns
  
    - float
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Cast<TResult>(IEnumerable)
  
  
  
  
  
    public static IEnumerable<TResult> Cast<TResult>(this IEnumerable source)
   
  Parameters
  
    source IEnumerable 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TResult 
    
  
  
  
  Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Concat<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Contains<TSource>(IEnumerable<TSource>, TSource)
  
  
  
  
  
    public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    value TSource 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>)
  
  
  
  
  
    public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value, IEqualityComparer<TSource> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    value TSource 
    
    comparer IEqualityComparer<TSource> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Count<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static int Count<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - int
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Count<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static int Count<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - int
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  DefaultIfEmpty<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> DefaultIfEmpty<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)
  
  
  
  
  
    public static IEnumerable<TSource> DefaultIfEmpty<TSource>(this IEnumerable<TSource> source, TSource defaultValue)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    defaultValue TSource 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Distinct<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    comparer IEqualityComparer<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  ElementAtOrDefault<TSource>(IEnumerable<TSource>, int)
  
  
  
  
  
    public static TSource ElementAtOrDefault<TSource>(this IEnumerable<TSource> source, int index)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    index int 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  ElementAt<TSource>(IEnumerable<TSource>, int)
  
  
  
  
  
    public static TSource ElementAt<TSource>(this IEnumerable<TSource> source, int index)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    index int 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Empty<TResult>()
  
  
  
  
  
    public static IEnumerable<TResult> Empty<TResult>()
   
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TResult 
    
  
  
  
  Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Except<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Except<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
    comparer IEqualityComparer<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  FirstOrDefault<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource FirstOrDefault<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static TSource FirstOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  First<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource First<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  First<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static TSource First<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  GroupBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - IEnumerable<IGrouping<TKey, TSource>>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  GroupBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - IEnumerable<IGrouping<TKey, TSource>>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)
  
  
  
  
  
    public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
  
  Returns
  
    - IEnumerable<IGrouping<TKey, TElement>>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
  
  
  
  GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)
  
  
  
  
  
    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)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - IEnumerable<IGrouping<TKey, TElement>>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
  
  
  
  GroupBy<TSource, TKey, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey, IEnumerable<TSource>, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> GroupBy<TSource, TKey, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TKey, IEnumerable<TSource>, TResult> resultSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    resultSelector Func<TKey, IEnumerable<TSource>, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TResult 
    
  
  
  
  GroupBy<TSource, TKey, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey, IEnumerable<TSource>, TResult>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static IEnumerable<TResult> GroupBy<TSource, TKey, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TKey, IEnumerable<TSource>, TResult> resultSelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    resultSelector Func<TKey, IEnumerable<TSource>, TResult> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TResult 
    
  
  
  
  GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> GroupBy<TSource, TKey, TElement, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<TKey, IEnumerable<TElement>, TResult> resultSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
    resultSelector Func<TKey, IEnumerable<TElement>, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
    TResult 
    
  
  
  
  GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static IEnumerable<TResult> GroupBy<TSource, TKey, TElement, TResult>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, Func<TKey, IEnumerable<TElement>, TResult> resultSelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
    resultSelector Func<TKey, IEnumerable<TElement>, TResult> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
    TResult 
    
  
  
  
  GroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, IEnumerable<TInner>, TResult> resultSelector)
   
  Parameters
  
    outer IEnumerable<TOuter> 
    
    inner IEnumerable<TInner> 
    
    outerKeySelector Func<TOuter, TKey> 
    
    innerKeySelector Func<TInner, TKey> 
    
    resultSelector Func<TOuter, IEnumerable<TInner>, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TOuter 
    
    TInner 
    
    TKey 
    
    TResult 
    
  
  
  
  GroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, IEnumerable<TInner>, TResult> resultSelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    outer IEnumerable<TOuter> 
    
    inner IEnumerable<TInner> 
    
    outerKeySelector Func<TOuter, TKey> 
    
    innerKeySelector Func<TInner, TKey> 
    
    resultSelector Func<TOuter, IEnumerable<TInner>, TResult> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TOuter 
    
    TInner 
    
    TKey 
    
    TResult 
    
  
  
  
  Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Intersect<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Intersect<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
    comparer IEqualityComparer<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Join<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, TInner, TResult> resultSelector)
   
  Parameters
  
    outer IEnumerable<TOuter> 
    
    inner IEnumerable<TInner> 
    
    outerKeySelector Func<TOuter, TKey> 
    
    innerKeySelector Func<TInner, TKey> 
    
    resultSelector Func<TOuter, TInner, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TOuter 
    
    TInner 
    
    TKey 
    
    TResult 
    
  
  
  
  Join<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this IEnumerable<TOuter> outer, IEnumerable<TInner> inner, Func<TOuter, TKey> outerKeySelector, Func<TInner, TKey> innerKeySelector, Func<TOuter, TInner, TResult> resultSelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    outer IEnumerable<TOuter> 
    
    inner IEnumerable<TInner> 
    
    outerKeySelector Func<TOuter, TKey> 
    
    innerKeySelector Func<TInner, TKey> 
    
    resultSelector Func<TOuter, TInner, TResult> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TOuter 
    
    TInner 
    
    TKey 
    
    TResult 
    
  
  
  
  LastOrDefault<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource LastOrDefault<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static TSource LastOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Last<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource Last<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Last<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static TSource Last<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  LongCount<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static long LongCount<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - long
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  LongCount<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static long LongCount<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - long
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max(IEnumerable<decimal>)
  
  
  
  
  
    public static decimal Max(this IEnumerable<decimal> source)
   
  Parameters
  
    source IEnumerable<decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  
  
  Max(IEnumerable<double>)
  
  
  
  
  
    public static double Max(this IEnumerable<double> source)
   
  Parameters
  
    source IEnumerable<double> 
    
  
  Returns
  
    - double
 
    
  
  
  
  Max(IEnumerable<int>)
  
  
  
  
  
    public static int Max(this IEnumerable<int> source)
   
  Parameters
  
    source IEnumerable<int> 
    
  
  Returns
  
    - int
 
    
  
  
  
  Max(IEnumerable<long>)
  
  
  
  
  
    public static long Max(this IEnumerable<long> source)
   
  Parameters
  
    source IEnumerable<long> 
    
  
  Returns
  
    - long
 
    
  
  
  
  Max(IEnumerable<decimal?>)
  
  
  
  
  
    public static decimal? Max(this IEnumerable<decimal?> source)
   
  Parameters
  
    source IEnumerable<decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  
  
  Max(IEnumerable<double?>)
  
  
  
  
  
    public static double? Max(this IEnumerable<double?> source)
   
  Parameters
  
    source IEnumerable<double?> 
    
  
  Returns
  
    - double?
 
    
  
  
  
  Max(IEnumerable<int?>)
  
  
  
  
  
    public static int? Max(this IEnumerable<int?> source)
   
  Parameters
  
    source IEnumerable<int?> 
    
  
  Returns
  
    - int?
 
    
  
  
  
  Max(IEnumerable<long?>)
  
  
  
  
  
    public static long? Max(this IEnumerable<long?> source)
   
  Parameters
  
    source IEnumerable<long?> 
    
  
  Returns
  
    - long?
 
    
  
  
  
  Max(IEnumerable<float?>)
  
  
  
  
  
    public static float? Max(this IEnumerable<float?> source)
   
  Parameters
  
    source IEnumerable<float?> 
    
  
  Returns
  
    - float?
 
    
  
  
  
  Max(IEnumerable<float>)
  
  
  
  
  
    public static float Max(this IEnumerable<float> source)
   
  Parameters
  
    source IEnumerable<float> 
    
  
  Returns
  
    - float
 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource Max<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, decimal>)
  
  
  
  
  
    public static decimal Max<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, double>)
  
  
  
  
  
    public static double Max<TSource>(this IEnumerable<TSource> source, Func<TSource, double> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double> 
    
  
  Returns
  
    - double
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, int>)
  
  
  
  
  
    public static int Max<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int> 
    
  
  Returns
  
    - int
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, long>)
  
  
  
  
  
    public static long Max<TSource>(this IEnumerable<TSource> source, Func<TSource, long> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long> 
    
  
  Returns
  
    - long
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, decimal?>)
  
  
  
  
  
    public static decimal? Max<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, double?>)
  
  
  
  
  
    public static double? Max<TSource>(this IEnumerable<TSource> source, Func<TSource, double?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double?> 
    
  
  Returns
  
    - double?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, int?>)
  
  
  
  
  
    public static int? Max<TSource>(this IEnumerable<TSource> source, Func<TSource, int?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int?> 
    
  
  Returns
  
    - int?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, long?>)
  
  
  
  
  
    public static long? Max<TSource>(this IEnumerable<TSource> source, Func<TSource, long?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long?> 
    
  
  Returns
  
    - long?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, float?>)
  
  
  
  
  
    public static float? Max<TSource>(this IEnumerable<TSource> source, Func<TSource, float?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float?> 
    
  
  Returns
  
    - float?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource>(IEnumerable<TSource>, Func<TSource, float>)
  
  
  
  
  
    public static float Max<TSource>(this IEnumerable<TSource> source, Func<TSource, float> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float> 
    
  
  Returns
  
    - float
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Max<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
  
  
  
  
  
    public static TResult Max<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, TResult> 
    
  
  Returns
  
    - TResult
 
    
  
  Type Parameters
  
    TSource 
    
    TResult 
    
  
  
  
  Min(IEnumerable<decimal>)
  
  
  
  
  
    public static decimal Min(this IEnumerable<decimal> source)
   
  Parameters
  
    source IEnumerable<decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  
  
  Min(IEnumerable<double>)
  
  
  
  
  
    public static double Min(this IEnumerable<double> source)
   
  Parameters
  
    source IEnumerable<double> 
    
  
  Returns
  
    - double
 
    
  
  
  
  Min(IEnumerable<int>)
  
  
  
  
  
    public static int Min(this IEnumerable<int> source)
   
  Parameters
  
    source IEnumerable<int> 
    
  
  Returns
  
    - int
 
    
  
  
  
  Min(IEnumerable<long>)
  
  
  
  
  
    public static long Min(this IEnumerable<long> source)
   
  Parameters
  
    source IEnumerable<long> 
    
  
  Returns
  
    - long
 
    
  
  
  
  Min(IEnumerable<decimal?>)
  
  
  
  
  
    public static decimal? Min(this IEnumerable<decimal?> source)
   
  Parameters
  
    source IEnumerable<decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  
  
  Min(IEnumerable<double?>)
  
  
  
  
  
    public static double? Min(this IEnumerable<double?> source)
   
  Parameters
  
    source IEnumerable<double?> 
    
  
  Returns
  
    - double?
 
    
  
  
  
  Min(IEnumerable<int?>)
  
  
  
  
  
    public static int? Min(this IEnumerable<int?> source)
   
  Parameters
  
    source IEnumerable<int?> 
    
  
  Returns
  
    - int?
 
    
  
  
  
  Min(IEnumerable<long?>)
  
  
  
  
  
    public static long? Min(this IEnumerable<long?> source)
   
  Parameters
  
    source IEnumerable<long?> 
    
  
  Returns
  
    - long?
 
    
  
  
  
  Min(IEnumerable<float?>)
  
  
  
  
  
    public static float? Min(this IEnumerable<float?> source)
   
  Parameters
  
    source IEnumerable<float?> 
    
  
  Returns
  
    - float?
 
    
  
  
  
  Min(IEnumerable<float>)
  
  
  
  
  
    public static float Min(this IEnumerable<float> source)
   
  Parameters
  
    source IEnumerable<float> 
    
  
  Returns
  
    - float
 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource Min<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, decimal>)
  
  
  
  
  
    public static decimal Min<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, double>)
  
  
  
  
  
    public static double Min<TSource>(this IEnumerable<TSource> source, Func<TSource, double> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double> 
    
  
  Returns
  
    - double
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, int>)
  
  
  
  
  
    public static int Min<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int> 
    
  
  Returns
  
    - int
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, long>)
  
  
  
  
  
    public static long Min<TSource>(this IEnumerable<TSource> source, Func<TSource, long> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long> 
    
  
  Returns
  
    - long
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, decimal?>)
  
  
  
  
  
    public static decimal? Min<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, double?>)
  
  
  
  
  
    public static double? Min<TSource>(this IEnumerable<TSource> source, Func<TSource, double?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double?> 
    
  
  Returns
  
    - double?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, int?>)
  
  
  
  
  
    public static int? Min<TSource>(this IEnumerable<TSource> source, Func<TSource, int?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int?> 
    
  
  Returns
  
    - int?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, long?>)
  
  
  
  
  
    public static long? Min<TSource>(this IEnumerable<TSource> source, Func<TSource, long?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long?> 
    
  
  Returns
  
    - long?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, float?>)
  
  
  
  
  
    public static float? Min<TSource>(this IEnumerable<TSource> source, Func<TSource, float?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float?> 
    
  
  Returns
  
    - float?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource>(IEnumerable<TSource>, Func<TSource, float>)
  
  
  
  
  
    public static float Min<TSource>(this IEnumerable<TSource> source, Func<TSource, float> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float> 
    
  
  Returns
  
    - float
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Min<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
  
  
  
  
  
    public static TResult Min<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, TResult> 
    
  
  Returns
  
    - TResult
 
    
  
  Type Parameters
  
    TSource 
    
    TResult 
    
  
  
  
  OfType<TResult>(IEnumerable)
  
  
  
  
  
    public static IEnumerable<TResult> OfType<TResult>(this IEnumerable source)
   
  Parameters
  
    source IEnumerable 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TResult 
    
  
  
  
  OrderByDescending<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  OrderByDescending<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IComparer<TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  OrderBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IComparer<TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  Range(int, int)
  
  
  
  
  
    public static IEnumerable<int> Range(int start, int count)
   
  Parameters
  
    start int 
    
    count int 
    
  
  Returns
  
    - IEnumerable<int>
 
    
  
  
  
  Repeat<TResult>(TResult, int)
  
  
  
  
  
    public static IEnumerable<TResult> Repeat<TResult>(TResult element, int count)
   
  Parameters
  
    element TResult 
    
    count int 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TResult 
    
  
  
  
  Reverse<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Reverse<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  SelectMany<TSource, TResult>(IEnumerable<TSource>, Func<TSource, IEnumerable<TResult>>)
  
  
  
  
  
    public static IEnumerable<TResult> SelectMany<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, IEnumerable<TResult>> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TResult 
    
  
  
  
  SelectMany<TSource, TResult>(IEnumerable<TSource>, Func<TSource, int, IEnumerable<TResult>>)
  
  
  
  
  
    public static IEnumerable<TResult> SelectMany<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, int, IEnumerable<TResult>> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int, IEnumerable<TResult>> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TResult 
    
  
  
  
  SelectMany<TSource, TCollection, TResult>(IEnumerable<TSource>, Func<TSource, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> SelectMany<TSource, TCollection, TResult>(this IEnumerable<TSource> source, Func<TSource, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    collectionSelector Func<TSource, IEnumerable<TCollection>> 
    
    resultSelector Func<TSource, TCollection, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TCollection 
    
    TResult 
    
  
  
  
  SelectMany<TSource, TCollection, TResult>(IEnumerable<TSource>, Func<TSource, int, IEnumerable<TCollection>>, Func<TSource, TCollection, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> SelectMany<TSource, TCollection, TResult>(this IEnumerable<TSource> source, Func<TSource, int, IEnumerable<TCollection>> collectionSelector, Func<TSource, TCollection, TResult> resultSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    collectionSelector Func<TSource, int, IEnumerable<TCollection>> 
    
    resultSelector Func<TSource, TCollection, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TCollection 
    
    TResult 
    
  
  
  
  Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, int, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, int, TResult> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TResult 
    
  
  
  
  Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
  
  
  
  
  
    public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, TResult> 
    
  
  Returns
  
    - IEnumerable<TResult>
 
    
  
  Type Parameters
  
    TSource 
    
    TResult 
    
  
  
  
  SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)
  
  
  
  
  
    public static bool SequenceEqual<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
  
  
  
  
  
    public static bool SequenceEqual<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
    comparer IEqualityComparer<TSource> 
    
  
  Returns
  
    - bool
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  SingleOrDefault<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource SingleOrDefault<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static TSource SingleOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Single<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource Single<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Single<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static TSource Single<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - TSource
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static IEnumerable<TSource> SkipWhile<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, int, bool>)
  
  
  
  
  
    public static IEnumerable<TSource> SkipWhile<TSource>(this IEnumerable<TSource> source, Func<TSource, int, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, int, bool> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Skip<TSource>(IEnumerable<TSource>, int)
  
  
  
  
  
    public static IEnumerable<TSource> Skip<TSource>(this IEnumerable<TSource> source, int count)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    count int 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum(IEnumerable<decimal>)
  
  
  
  
  
    public static decimal Sum(this IEnumerable<decimal> source)
   
  Parameters
  
    source IEnumerable<decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  
  
  Sum(IEnumerable<double>)
  
  
  
  
  
    public static double Sum(this IEnumerable<double> source)
   
  Parameters
  
    source IEnumerable<double> 
    
  
  Returns
  
    - double
 
    
  
  
  
  Sum(IEnumerable<int>)
  
  
  
  
  
    public static int Sum(this IEnumerable<int> source)
   
  Parameters
  
    source IEnumerable<int> 
    
  
  Returns
  
    - int
 
    
  
  
  
  Sum(IEnumerable<long>)
  
  
  
  
  
    public static long Sum(this IEnumerable<long> source)
   
  Parameters
  
    source IEnumerable<long> 
    
  
  Returns
  
    - long
 
    
  
  
  
  Sum(IEnumerable<decimal?>)
  
  
  
  
  
    public static decimal? Sum(this IEnumerable<decimal?> source)
   
  Parameters
  
    source IEnumerable<decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  
  
  Sum(IEnumerable<double?>)
  
  
  
  
  
    public static double? Sum(this IEnumerable<double?> source)
   
  Parameters
  
    source IEnumerable<double?> 
    
  
  Returns
  
    - double?
 
    
  
  
  
  Sum(IEnumerable<int?>)
  
  
  
  
  
    public static int? Sum(this IEnumerable<int?> source)
   
  Parameters
  
    source IEnumerable<int?> 
    
  
  Returns
  
    - int?
 
    
  
  
  
  Sum(IEnumerable<long?>)
  
  
  
  
  
    public static long? Sum(this IEnumerable<long?> source)
   
  Parameters
  
    source IEnumerable<long?> 
    
  
  Returns
  
    - long?
 
    
  
  
  
  Sum(IEnumerable<float?>)
  
  
  
  
  
    public static float? Sum(this IEnumerable<float?> source)
   
  Parameters
  
    source IEnumerable<float?> 
    
  
  Returns
  
    - float?
 
    
  
  
  
  Sum(IEnumerable<float>)
  
  
  
  
  
    public static float Sum(this IEnumerable<float> source)
   
  Parameters
  
    source IEnumerable<float> 
    
  
  Returns
  
    - float
 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, decimal>)
  
  
  
  
  
    public static decimal Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal> 
    
  
  Returns
  
    - decimal
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, double>)
  
  
  
  
  
    public static double Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, double> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double> 
    
  
  Returns
  
    - double
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, int>)
  
  
  
  
  
    public static int Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int> 
    
  
  Returns
  
    - int
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, long>)
  
  
  
  
  
    public static long Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, long> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long> 
    
  
  Returns
  
    - long
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, decimal?>)
  
  
  
  
  
    public static decimal? Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, decimal?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, decimal?> 
    
  
  Returns
  
    - decimal?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, double?>)
  
  
  
  
  
    public static double? Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, double?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, double?> 
    
  
  Returns
  
    - double?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, int?>)
  
  
  
  
  
    public static int? Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, int?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, int?> 
    
  
  Returns
  
    - int?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, long?>)
  
  
  
  
  
    public static long? Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, long?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, long?> 
    
  
  Returns
  
    - long?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, float?>)
  
  
  
  
  
    public static float? Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, float?> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float?> 
    
  
  Returns
  
    - float?
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Sum<TSource>(IEnumerable<TSource>, Func<TSource, float>)
  
  
  
  
  
    public static float Sum<TSource>(this IEnumerable<TSource> source, Func<TSource, float> selector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    selector Func<TSource, float> 
    
  
  Returns
  
    - float
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static IEnumerable<TSource> TakeWhile<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, int, bool>)
  
  
  
  
  
    public static IEnumerable<TSource> TakeWhile<TSource>(this IEnumerable<TSource> source, Func<TSource, int, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, int, bool> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Take<TSource>(IEnumerable<TSource>, int)
  
  
  
  
  
    public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source, int count)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    count int 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  ThenByDescending<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> ThenByDescending<TSource, TKey>(this IOrderedEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IOrderedEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ThenByDescending<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> ThenByDescending<TSource, TKey>(this IOrderedEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
   
  Parameters
  
    source IOrderedEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IComparer<TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ThenBy<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> ThenBy<TSource, TKey>(this IOrderedEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IOrderedEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ThenBy<TSource, TKey>(IOrderedEnumerable<TSource>, Func<TSource, TKey>, IComparer<TKey>)
  
  
  
  
  
    public static IOrderedEnumerable<TSource> ThenBy<TSource, TKey>(this IOrderedEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
   
  Parameters
  
    source IOrderedEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IComparer<TKey> 
    
  
  Returns
  
    - IOrderedEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ToArray<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static TSource[] ToArray<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - TSource[]
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  ToDictionary<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static Dictionary<TKey, TSource> ToDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - Dictionary<TKey, TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ToDictionary<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static Dictionary<TKey, TSource> ToDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - Dictionary<TKey, TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ToDictionary<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)
  
  
  
  
  
    public static Dictionary<TKey, TElement> ToDictionary<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
  
  Returns
  
    - Dictionary<TKey, TElement>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
  
  
  
  ToDictionary<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static Dictionary<TKey, TElement> ToDictionary<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - Dictionary<TKey, TElement>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
  
  
  
  ToList<TSource>(IEnumerable<TSource>)
  
  
  
  
  
    public static List<TSource> ToList<TSource>(this IEnumerable<TSource> source)
   
  Parameters
  
    source IEnumerable<TSource> 
    
  
  Returns
  
    - List<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  ToLookup<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
  
  
  
  
  
    public static ILookup<TKey, TSource> ToLookup<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
  
  Returns
  
    - ILookup<TKey, TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ToLookup<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static ILookup<TKey, TSource> ToLookup<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - ILookup<TKey, TSource>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
  
  
  
  ToLookup<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)
  
  
  
  
  
    public static ILookup<TKey, TElement> ToLookup<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
  
  Returns
  
    - ILookup<TKey, TElement>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
  
  
  
  ToLookup<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)
  
  
  
  
  
    public static ILookup<TKey, TElement> ToLookup<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    keySelector Func<TSource, TKey> 
    
    elementSelector Func<TSource, TElement> 
    
    comparer IEqualityComparer<TKey> 
    
  
  Returns
  
    - ILookup<TKey, TElement>
 
    
  
  Type Parameters
  
    TSource 
    
    TKey 
    
    TElement 
    
  
  
  
  Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Union<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
  
  
  
  
  
    public static IEnumerable<TSource> Union<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second, IEqualityComparer<TSource> comparer)
   
  Parameters
  
    first IEnumerable<TSource> 
    
    second IEnumerable<TSource> 
    
    comparer IEqualityComparer<TSource> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Where<TSource>(IEnumerable<TSource>, Func<TSource, bool>)
  
  
  
  
  
    public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, bool> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource 
    
  
  
  
  Where<TSource>(IEnumerable<TSource>, Func<TSource, int, bool>)
  
  
  
  
  
    public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, int, bool> predicate)
   
  Parameters
  
    source IEnumerable<TSource> 
    
    predicate Func<TSource, int, bool> 
    
  
  Returns
  
    - IEnumerable<TSource>
 
    
  
  Type Parameters
  
    TSource