# System.Linq ``` diff +namespace System.Linq { + public static class Enumerable { + public static TResult Aggregate(this IEnumerable source, TAccumulate seed, Func func, Func resultSelector); + public static TAccumulate Aggregate(this IEnumerable source, TAccumulate seed, Func func); + public static TSource Aggregate(this IEnumerable source, Func func); + public static bool All(this IEnumerable source, Func predicate); + public static bool Any(this IEnumerable source); + public static bool Any(this IEnumerable source, Func predicate); + public static IEnumerable Append(this IEnumerable source, TSource element); + public static IEnumerable AsEnumerable(this IEnumerable source); + public static Decimal Average(this IEnumerable source); + public static double Average(this IEnumerable source); + public static double Average(this IEnumerable source); + public static double Average(this IEnumerable source); + public static Nullable Average(this IEnumerable> source); + public static Nullable Average(this IEnumerable> source); + public static Nullable Average(this IEnumerable> source); + public static Nullable Average(this IEnumerable> source); + public static Nullable Average(this IEnumerable> source); + public static float Average(this IEnumerable source); + public static Decimal Average(this IEnumerable source, Func selector); + public static double Average(this IEnumerable source, Func selector); + public static double Average(this IEnumerable source, Func selector); + public static double Average(this IEnumerable source, Func selector); + public static Nullable Average(this IEnumerable source, Func> selector); + public static Nullable Average(this IEnumerable source, Func> selector); + public static Nullable Average(this IEnumerable source, Func> selector); + public static Nullable Average(this IEnumerable source, Func> selector); + public static Nullable Average(this IEnumerable source, Func> selector); + public static float Average(this IEnumerable source, Func selector); + public static IEnumerable Cast(this IEnumerable source); + public static IEnumerable Concat(this IEnumerable first, IEnumerable second); + public static bool Contains(this IEnumerable source, TSource value); + public static bool Contains(this IEnumerable source, TSource value, IEqualityComparer comparer); + public static int Count(this IEnumerable source); + public static int Count(this IEnumerable source, Func predicate); + public static IEnumerable DefaultIfEmpty(this IEnumerable source); + public static IEnumerable DefaultIfEmpty(this IEnumerable source, TSource defaultValue); + public static IEnumerable Distinct(this IEnumerable source); + public static IEnumerable Distinct(this IEnumerable source, IEqualityComparer comparer); + public static TSource ElementAt(this IEnumerable source, int index); + public static TSource ElementAtOrDefault(this IEnumerable source, int index); + public static IEnumerable Empty(); + public static IEnumerable Except(this IEnumerable first, IEnumerable second); + public static IEnumerable Except(this IEnumerable first, IEnumerable second, IEqualityComparer comparer); + public static TSource First(this IEnumerable source); + public static TSource First(this IEnumerable source, Func predicate); + public static TSource FirstOrDefault(this IEnumerable source); + public static TSource FirstOrDefault(this IEnumerable source, Func predicate); + public static IEnumerable GroupBy(this IEnumerable source, Func keySelector, Func elementSelector, Func, TResult> resultSelector); + public static IEnumerable GroupBy(this IEnumerable source, Func keySelector, Func elementSelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static IEnumerable> GroupBy(this IEnumerable source, Func keySelector, Func elementSelector); + public static IEnumerable> GroupBy(this IEnumerable source, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static IEnumerable GroupBy(this IEnumerable source, Func keySelector, Func, TResult> resultSelector); + public static IEnumerable GroupBy(this IEnumerable source, Func keySelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static IEnumerable> GroupBy(this IEnumerable source, Func keySelector); + public static IEnumerable> GroupBy(this IEnumerable source, Func keySelector, IEqualityComparer comparer); + public static IEnumerable GroupJoin(this IEnumerable outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func, TResult> resultSelector); + public static IEnumerable GroupJoin(this IEnumerable outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static IEnumerable Intersect(this IEnumerable first, IEnumerable second); + public static IEnumerable Intersect(this IEnumerable first, IEnumerable second, IEqualityComparer comparer); + public static IEnumerable Join(this IEnumerable outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func resultSelector); + public static IEnumerable Join(this IEnumerable outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func resultSelector, IEqualityComparer comparer); + public static TSource Last(this IEnumerable source); + public static TSource Last(this IEnumerable source, Func predicate); + public static TSource LastOrDefault(this IEnumerable source); + public static TSource LastOrDefault(this IEnumerable source, Func predicate); + public static long LongCount(this IEnumerable source); + public static long LongCount(this IEnumerable source, Func predicate); + public static Decimal Max(this IEnumerable source); + public static double Max(this IEnumerable source); + public static int Max(this IEnumerable source); + public static long Max(this IEnumerable source); + public static Nullable Max(this IEnumerable> source); + public static Nullable Max(this IEnumerable> source); + public static Nullable Max(this IEnumerable> source); + public static Nullable Max(this IEnumerable> source); + public static Nullable Max(this IEnumerable> source); + public static float Max(this IEnumerable source); + public static TResult Max(this IEnumerable source, Func selector); + public static TSource Max(this IEnumerable source); + public static Decimal Max(this IEnumerable source, Func selector); + public static double Max(this IEnumerable source, Func selector); + public static int Max(this IEnumerable source, Func selector); + public static long Max(this IEnumerable source, Func selector); + public static Nullable Max(this IEnumerable source, Func> selector); + public static Nullable Max(this IEnumerable source, Func> selector); + public static Nullable Max(this IEnumerable source, Func> selector); + public static Nullable Max(this IEnumerable source, Func> selector); + public static Nullable Max(this IEnumerable source, Func> selector); + public static float Max(this IEnumerable source, Func selector); + public static Decimal Min(this IEnumerable source); + public static double Min(this IEnumerable source); + public static int Min(this IEnumerable source); + public static long Min(this IEnumerable source); + public static Nullable Min(this IEnumerable> source); + public static Nullable Min(this IEnumerable> source); + public static Nullable Min(this IEnumerable> source); + public static Nullable Min(this IEnumerable> source); + public static Nullable Min(this IEnumerable> source); + public static float Min(this IEnumerable source); + public static TResult Min(this IEnumerable source, Func selector); + public static TSource Min(this IEnumerable source); + public static Decimal Min(this IEnumerable source, Func selector); + public static double Min(this IEnumerable source, Func selector); + public static int Min(this IEnumerable source, Func selector); + public static long Min(this IEnumerable source, Func selector); + public static Nullable Min(this IEnumerable source, Func> selector); + public static Nullable Min(this IEnumerable source, Func> selector); + public static Nullable Min(this IEnumerable source, Func> selector); + public static Nullable Min(this IEnumerable source, Func> selector); + public static Nullable Min(this IEnumerable source, Func> selector); + public static float Min(this IEnumerable source, Func selector); + public static IEnumerable OfType(this IEnumerable source); + public static IOrderedEnumerable OrderBy(this IEnumerable source, Func keySelector); + public static IOrderedEnumerable OrderBy(this IEnumerable source, Func keySelector, IComparer comparer); + public static IOrderedEnumerable OrderByDescending(this IEnumerable source, Func keySelector); + public static IOrderedEnumerable OrderByDescending(this IEnumerable source, Func keySelector, IComparer comparer); + public static IEnumerable Prepend(this IEnumerable source, TSource element); + public static IEnumerable Range(int start, int count); + public static IEnumerable Repeat(TResult element, int count); + public static IEnumerable Reverse(this IEnumerable source); + public static IEnumerable Select(this IEnumerable source, Func selector); + public static IEnumerable Select(this IEnumerable source, Func selector); + public static IEnumerable SelectMany(this IEnumerable source, Func> collectionSelector, Func resultSelector); + public static IEnumerable SelectMany(this IEnumerable source, Func> collectionSelector, Func resultSelector); + public static IEnumerable SelectMany(this IEnumerable source, Func> selector); + public static IEnumerable SelectMany(this IEnumerable source, Func> selector); + public static bool SequenceEqual(this IEnumerable first, IEnumerable second); + public static bool SequenceEqual(this IEnumerable first, IEnumerable second, IEqualityComparer comparer); + public static TSource Single(this IEnumerable source); + public static TSource Single(this IEnumerable source, Func predicate); + public static TSource SingleOrDefault(this IEnumerable source); + public static TSource SingleOrDefault(this IEnumerable source, Func predicate); + public static IEnumerable Skip(this IEnumerable source, int count); + public static IEnumerable SkipWhile(this IEnumerable source, Func predicate); + public static IEnumerable SkipWhile(this IEnumerable source, Func predicate); + public static Decimal Sum(this IEnumerable source); + public static double Sum(this IEnumerable source); + public static int Sum(this IEnumerable source); + public static long Sum(this IEnumerable source); + public static Nullable Sum(this IEnumerable> source); + public static Nullable Sum(this IEnumerable> source); + public static Nullable Sum(this IEnumerable> source); + public static Nullable Sum(this IEnumerable> source); + public static Nullable Sum(this IEnumerable> source); + public static float Sum(this IEnumerable source); + public static Decimal Sum(this IEnumerable source, Func selector); + public static double Sum(this IEnumerable source, Func selector); + public static int Sum(this IEnumerable source, Func selector); + public static long Sum(this IEnumerable source, Func selector); + public static Nullable Sum(this IEnumerable source, Func> selector); + public static Nullable Sum(this IEnumerable source, Func> selector); + public static Nullable Sum(this IEnumerable source, Func> selector); + public static Nullable Sum(this IEnumerable source, Func> selector); + public static Nullable Sum(this IEnumerable source, Func> selector); + public static float Sum(this IEnumerable source, Func selector); + public static IEnumerable Take(this IEnumerable source, int count); + public static IEnumerable TakeWhile(this IEnumerable source, Func predicate); + public static IEnumerable TakeWhile(this IEnumerable source, Func predicate); + public static IOrderedEnumerable ThenBy(this IOrderedEnumerable source, Func keySelector); + public static IOrderedEnumerable ThenBy(this IOrderedEnumerable source, Func keySelector, IComparer comparer); + public static IOrderedEnumerable ThenByDescending(this IOrderedEnumerable source, Func keySelector); + public static IOrderedEnumerable ThenByDescending(this IOrderedEnumerable source, Func keySelector, IComparer comparer); + public static TSource[] ToArray(this IEnumerable source); + public static Dictionary ToDictionary(this IEnumerable source, Func keySelector, Func elementSelector); + public static Dictionary ToDictionary(this IEnumerable source, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static Dictionary ToDictionary(this IEnumerable source, Func keySelector); + public static Dictionary ToDictionary(this IEnumerable source, Func keySelector, IEqualityComparer comparer); + public static List ToList(this IEnumerable source); + public static ILookup ToLookup(this IEnumerable source, Func keySelector, Func elementSelector); + public static ILookup ToLookup(this IEnumerable source, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static ILookup ToLookup(this IEnumerable source, Func keySelector); + public static ILookup ToLookup(this IEnumerable source, Func keySelector, IEqualityComparer comparer); + public static IEnumerable Union(this IEnumerable first, IEnumerable second); + public static IEnumerable Union(this IEnumerable first, IEnumerable second, IEqualityComparer comparer); + public static IEnumerable Where(this IEnumerable source, Func predicate); + public static IEnumerable Where(this IEnumerable source, Func predicate); + public static IEnumerable Zip(this IEnumerable first, IEnumerable second, Func resultSelector); + } + public abstract class EnumerableExecutor { + protected EnumerableExecutor(); + } + public class EnumerableExecutor : EnumerableExecutor { + public EnumerableExecutor(Expression expression); + } + public abstract class EnumerableQuery { + protected EnumerableQuery(); + } + public class EnumerableQuery : EnumerableQuery, IEnumerable, IEnumerable, IOrderedQueryable, IOrderedQueryable, IQueryable, IQueryable, IQueryProvider { + public EnumerableQuery(IEnumerable enumerable); + public EnumerableQuery(Expression expression); + Type System.Linq.IQueryable.ElementType { get; } + Expression System.Linq.IQueryable.Expression { get; } + IQueryProvider System.Linq.IQueryable.Provider { get; } + IEnumerator System.Collections.Generic.IEnumerable.GetEnumerator(); + IEnumerator System.Collections.IEnumerable.GetEnumerator(); + IQueryable System.Linq.IQueryProvider.CreateQuery(Expression expression); + IQueryable System.Linq.IQueryProvider.CreateQuery(Expression expression); + object System.Linq.IQueryProvider.Execute(Expression expression); + S System.Linq.IQueryProvider.Execute(Expression expression); + public override string ToString(); + } + public interface IGrouping : IEnumerable, IEnumerable { + TKey Key { get; } + } + public interface ILookup : IEnumerable, IEnumerable> { + int Count { get; } + IEnumerable this[TKey key] { get; } + bool Contains(TKey key); + } + public static class ImmutableArrayExtensions { + public static T Aggregate(this ImmutableArray immutableArray, Func func); + public static TAccumulate Aggregate(this ImmutableArray immutableArray, TAccumulate seed, Func func); + public static TResult Aggregate(this ImmutableArray immutableArray, TAccumulate seed, Func func, Func resultSelector); + public static bool All(this ImmutableArray immutableArray, Func predicate); + public static bool Any(this ImmutableArray.Builder builder); + public static bool Any(this ImmutableArray immutableArray); + public static bool Any(this ImmutableArray immutableArray, Func predicate); + public static T ElementAt(this ImmutableArray immutableArray, int index); + public static T ElementAtOrDefault(this ImmutableArray immutableArray, int index); + public static T First(this ImmutableArray.Builder builder); + public static T First(this ImmutableArray immutableArray); + public static T First(this ImmutableArray immutableArray, Func predicate); + public static T FirstOrDefault(this ImmutableArray.Builder builder); + public static T FirstOrDefault(this ImmutableArray immutableArray); + public static T FirstOrDefault(this ImmutableArray immutableArray, Func predicate); + public static T Last(this ImmutableArray.Builder builder); + public static T Last(this ImmutableArray immutableArray); + public static T Last(this ImmutableArray immutableArray, Func predicate); + public static T LastOrDefault(this ImmutableArray.Builder builder); + public static T LastOrDefault(this ImmutableArray immutableArray); + public static T LastOrDefault(this ImmutableArray immutableArray, Func predicate); + public static IEnumerable Select(this ImmutableArray immutableArray, Func selector); + public static IEnumerable SelectMany(this ImmutableArray immutableArray, Func> collectionSelector, Func resultSelector); + public static bool SequenceEqual(this ImmutableArray immutableArray, IEnumerable items, IEqualityComparer comparer=null) where TDerived : TBase; + public static bool SequenceEqual(this ImmutableArray immutableArray, ImmutableArray items, IEqualityComparer comparer=null) where TDerived : TBase; + public static bool SequenceEqual(this ImmutableArray immutableArray, ImmutableArray items, Func predicate) where TDerived : TBase; + public static T Single(this ImmutableArray immutableArray); + public static T Single(this ImmutableArray immutableArray, Func predicate); + public static T SingleOrDefault(this ImmutableArray immutableArray); + public static T SingleOrDefault(this ImmutableArray immutableArray, Func predicate); + public static T[] ToArray(this ImmutableArray immutableArray); + public static Dictionary ToDictionary(this ImmutableArray immutableArray, Func keySelector); + public static Dictionary ToDictionary(this ImmutableArray immutableArray, Func keySelector, IEqualityComparer comparer); + public static Dictionary ToDictionary(this ImmutableArray immutableArray, Func keySelector, Func elementSelector); + public static Dictionary ToDictionary(this ImmutableArray immutableArray, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static IEnumerable Where(this ImmutableArray immutableArray, Func predicate); + } + public interface IOrderedEnumerable : IEnumerable, IEnumerable { + IOrderedEnumerable CreateOrderedEnumerable(Func keySelector, IComparer comparer, bool descending); + } + public interface IOrderedQueryable : IEnumerable, IQueryable + public interface IOrderedQueryable : IEnumerable, IEnumerable, IOrderedQueryable, IQueryable, IQueryable + public interface IQueryable : IEnumerable { + Type ElementType { get; } + Expression Expression { get; } + IQueryProvider Provider { get; } + } + public interface IQueryable : IEnumerable, IEnumerable, IQueryable + public interface IQueryProvider { + IQueryable CreateQuery(Expression expression); + IQueryable CreateQuery(Expression expression); + object Execute(Expression expression); + TResult Execute(Expression expression); + } + public class Lookup : IEnumerable, IEnumerable>, ILookup { + public int Count { get; } + public IEnumerable this[TKey key] { get; } + public IEnumerable ApplyResultSelector(Func, TResult> resultSelector); + public bool Contains(TKey key); + public IEnumerator> GetEnumerator(); + IEnumerator System.Collections.IEnumerable.GetEnumerator(); + } + public class OrderedParallelQuery : ParallelQuery { + public override IEnumerator GetEnumerator(); + } + public static class ParallelEnumerable { + public static TResult Aggregate(this ParallelQuery source, Func seedFactory, Func updateAccumulatorFunc, Func combineAccumulatorsFunc, Func resultSelector); + public static TResult Aggregate(this ParallelQuery source, TAccumulate seed, Func updateAccumulatorFunc, Func combineAccumulatorsFunc, Func resultSelector); + public static TResult Aggregate(this ParallelQuery source, TAccumulate seed, Func func, Func resultSelector); + public static TAccumulate Aggregate(this ParallelQuery source, TAccumulate seed, Func func); + public static TSource Aggregate(this ParallelQuery source, Func func); + public static bool All(this ParallelQuery source, Func predicate); + public static bool Any(this ParallelQuery source); + public static bool Any(this ParallelQuery source, Func predicate); + public static IEnumerable AsEnumerable(this ParallelQuery source); + public static ParallelQuery AsOrdered(this ParallelQuery source); + public static ParallelQuery AsOrdered(this ParallelQuery source); + public static ParallelQuery AsParallel(this IEnumerable source); + public static ParallelQuery AsParallel(this Partitioner source); + public static ParallelQuery AsParallel(this IEnumerable source); + public static IEnumerable AsSequential(this ParallelQuery source); + public static ParallelQuery AsUnordered(this ParallelQuery source); + public static Decimal Average(this ParallelQuery source); + public static double Average(this ParallelQuery source); + public static double Average(this ParallelQuery source); + public static double Average(this ParallelQuery source); + public static Nullable Average(this ParallelQuery> source); + public static Nullable Average(this ParallelQuery> source); + public static Nullable Average(this ParallelQuery> source); + public static Nullable Average(this ParallelQuery> source); + public static Nullable Average(this ParallelQuery> source); + public static float Average(this ParallelQuery source); + public static Decimal Average(this ParallelQuery source, Func selector); + public static double Average(this ParallelQuery source, Func selector); + public static double Average(this ParallelQuery source, Func selector); + public static double Average(this ParallelQuery source, Func selector); + public static Nullable Average(this ParallelQuery source, Func> selector); + public static Nullable Average(this ParallelQuery source, Func> selector); + public static Nullable Average(this ParallelQuery source, Func> selector); + public static Nullable Average(this ParallelQuery source, Func> selector); + public static Nullable Average(this ParallelQuery source, Func> selector); + public static float Average(this ParallelQuery source, Func selector); + public static ParallelQuery Cast(this ParallelQuery source); + public static ParallelQuery Concat(this ParallelQuery first, IEnumerable second); + public static ParallelQuery Concat(this ParallelQuery first, ParallelQuery second); + public static bool Contains(this ParallelQuery source, TSource value); + public static bool Contains(this ParallelQuery source, TSource value, IEqualityComparer comparer); + public static int Count(this ParallelQuery source); + public static int Count(this ParallelQuery source, Func predicate); + public static ParallelQuery DefaultIfEmpty(this ParallelQuery source); + public static ParallelQuery DefaultIfEmpty(this ParallelQuery source, TSource defaultValue); + public static ParallelQuery Distinct(this ParallelQuery source); + public static ParallelQuery Distinct(this ParallelQuery source, IEqualityComparer comparer); + public static TSource ElementAt(this ParallelQuery source, int index); + public static TSource ElementAtOrDefault(this ParallelQuery source, int index); + public static ParallelQuery Empty(); + public static ParallelQuery Except(this ParallelQuery first, IEnumerable second); + public static ParallelQuery Except(this ParallelQuery first, IEnumerable second, IEqualityComparer comparer); + public static ParallelQuery Except(this ParallelQuery first, ParallelQuery second); + public static ParallelQuery Except(this ParallelQuery first, ParallelQuery second, IEqualityComparer comparer); + public static TSource First(this ParallelQuery source); + public static TSource First(this ParallelQuery source, Func predicate); + public static TSource FirstOrDefault(this ParallelQuery source); + public static TSource FirstOrDefault(this ParallelQuery source, Func predicate); + public static void ForAll(this ParallelQuery source, Action action); + public static ParallelQuery GroupBy(this ParallelQuery source, Func keySelector, Func elementSelector, Func, TResult> resultSelector); + public static ParallelQuery GroupBy(this ParallelQuery source, Func keySelector, Func elementSelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static ParallelQuery> GroupBy(this ParallelQuery source, Func keySelector, Func elementSelector); + public static ParallelQuery> GroupBy(this ParallelQuery source, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static ParallelQuery GroupBy(this ParallelQuery source, Func keySelector, Func, TResult> resultSelector); + public static ParallelQuery GroupBy(this ParallelQuery source, Func keySelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static ParallelQuery> GroupBy(this ParallelQuery source, Func keySelector); + public static ParallelQuery> GroupBy(this ParallelQuery source, Func keySelector, IEqualityComparer comparer); + public static ParallelQuery GroupJoin(this ParallelQuery outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func, TResult> resultSelector); + public static ParallelQuery GroupJoin(this ParallelQuery outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static ParallelQuery GroupJoin(this ParallelQuery outer, ParallelQuery inner, Func outerKeySelector, Func innerKeySelector, Func, TResult> resultSelector); + public static ParallelQuery GroupJoin(this ParallelQuery outer, ParallelQuery inner, Func outerKeySelector, Func innerKeySelector, Func, TResult> resultSelector, IEqualityComparer comparer); + public static ParallelQuery Intersect(this ParallelQuery first, IEnumerable second); + public static ParallelQuery Intersect(this ParallelQuery first, IEnumerable second, IEqualityComparer comparer); + public static ParallelQuery Intersect(this ParallelQuery first, ParallelQuery second); + public static ParallelQuery Intersect(this ParallelQuery first, ParallelQuery second, IEqualityComparer comparer); + public static ParallelQuery Join(this ParallelQuery outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func resultSelector); + public static ParallelQuery Join(this ParallelQuery outer, IEnumerable inner, Func outerKeySelector, Func innerKeySelector, Func resultSelector, IEqualityComparer comparer); + public static ParallelQuery Join(this ParallelQuery outer, ParallelQuery inner, Func outerKeySelector, Func innerKeySelector, Func resultSelector); + public static ParallelQuery Join(this ParallelQuery outer, ParallelQuery inner, Func outerKeySelector, Func innerKeySelector, Func resultSelector, IEqualityComparer comparer); + public static TSource Last(this ParallelQuery source); + public static TSource Last(this ParallelQuery source, Func predicate); + public static TSource LastOrDefault(this ParallelQuery source); + public static TSource LastOrDefault(this ParallelQuery source, Func predicate); + public static long LongCount(this ParallelQuery source); + public static long LongCount(this ParallelQuery source, Func predicate); + public static Decimal Max(this ParallelQuery source); + public static double Max(this ParallelQuery source); + public static int Max(this ParallelQuery source); + public static long Max(this ParallelQuery source); + public static Nullable Max(this ParallelQuery> source); + public static Nullable Max(this ParallelQuery> source); + public static Nullable Max(this ParallelQuery> source); + public static Nullable Max(this ParallelQuery> source); + public static Nullable Max(this ParallelQuery> source); + public static float Max(this ParallelQuery source); + public static TResult Max(this ParallelQuery source, Func selector); + public static TSource Max(this ParallelQuery source); + public static Decimal Max(this ParallelQuery source, Func selector); + public static double Max(this ParallelQuery source, Func selector); + public static int Max(this ParallelQuery source, Func selector); + public static long Max(this ParallelQuery source, Func selector); + public static Nullable Max(this ParallelQuery source, Func> selector); + public static Nullable Max(this ParallelQuery source, Func> selector); + public static Nullable Max(this ParallelQuery source, Func> selector); + public static Nullable Max(this ParallelQuery source, Func> selector); + public static Nullable Max(this ParallelQuery source, Func> selector); + public static float Max(this ParallelQuery source, Func selector); + public static Decimal Min(this ParallelQuery source); + public static double Min(this ParallelQuery source); + public static int Min(this ParallelQuery source); + public static long Min(this ParallelQuery source); + public static Nullable Min(this ParallelQuery> source); + public static Nullable Min(this ParallelQuery> source); + public static Nullable Min(this ParallelQuery> source); + public static Nullable Min(this ParallelQuery> source); + public static Nullable Min(this ParallelQuery> source); + public static float Min(this ParallelQuery source); + public static TResult Min(this ParallelQuery source, Func selector); + public static TSource Min(this ParallelQuery source); + public static Decimal Min(this ParallelQuery source, Func selector); + public static double Min(this ParallelQuery source, Func selector); + public static int Min(this ParallelQuery source, Func selector); + public static long Min(this ParallelQuery source, Func selector); + public static Nullable Min(this ParallelQuery source, Func> selector); + public static Nullable Min(this ParallelQuery source, Func> selector); + public static Nullable Min(this ParallelQuery source, Func> selector); + public static Nullable Min(this ParallelQuery source, Func> selector); + public static Nullable Min(this ParallelQuery source, Func> selector); + public static float Min(this ParallelQuery source, Func selector); + public static ParallelQuery OfType(this ParallelQuery source); + public static OrderedParallelQuery OrderBy(this ParallelQuery source, Func keySelector); + public static OrderedParallelQuery OrderBy(this ParallelQuery source, Func keySelector, IComparer comparer); + public static OrderedParallelQuery OrderByDescending(this ParallelQuery source, Func keySelector); + public static OrderedParallelQuery OrderByDescending(this ParallelQuery source, Func keySelector, IComparer comparer); + public static ParallelQuery Range(int start, int count); + public static ParallelQuery Repeat(TResult element, int count); + public static ParallelQuery Reverse(this ParallelQuery source); + public static ParallelQuery Select(this ParallelQuery source, Func selector); + public static ParallelQuery Select(this ParallelQuery source, Func selector); + public static ParallelQuery SelectMany(this ParallelQuery source, Func> collectionSelector, Func resultSelector); + public static ParallelQuery SelectMany(this ParallelQuery source, Func> collectionSelector, Func resultSelector); + public static ParallelQuery SelectMany(this ParallelQuery source, Func> selector); + public static ParallelQuery SelectMany(this ParallelQuery source, Func> selector); + public static bool SequenceEqual(this ParallelQuery first, IEnumerable second); + public static bool SequenceEqual(this ParallelQuery first, IEnumerable second, IEqualityComparer comparer); + public static bool SequenceEqual(this ParallelQuery first, ParallelQuery second); + public static bool SequenceEqual(this ParallelQuery first, ParallelQuery second, IEqualityComparer comparer); + public static TSource Single(this ParallelQuery source); + public static TSource Single(this ParallelQuery source, Func predicate); + public static TSource SingleOrDefault(this ParallelQuery source); + public static TSource SingleOrDefault(this ParallelQuery source, Func predicate); + public static ParallelQuery Skip(this ParallelQuery source, int count); + public static ParallelQuery SkipWhile(this ParallelQuery source, Func predicate); + public static ParallelQuery SkipWhile(this ParallelQuery source, Func predicate); + public static Decimal Sum(this ParallelQuery source); + public static double Sum(this ParallelQuery source); + public static int Sum(this ParallelQuery source); + public static long Sum(this ParallelQuery source); + public static Nullable Sum(this ParallelQuery> source); + public static Nullable Sum(this ParallelQuery> source); + public static Nullable Sum(this ParallelQuery> source); + public static Nullable Sum(this ParallelQuery> source); + public static Nullable Sum(this ParallelQuery> source); + public static float Sum(this ParallelQuery source); + public static Decimal Sum(this ParallelQuery source, Func selector); + public static double Sum(this ParallelQuery source, Func selector); + public static int Sum(this ParallelQuery source, Func selector); + public static long Sum(this ParallelQuery source, Func selector); + public static Nullable Sum(this ParallelQuery source, Func> selector); + public static Nullable Sum(this ParallelQuery source, Func> selector); + public static Nullable Sum(this ParallelQuery source, Func> selector); + public static Nullable Sum(this ParallelQuery source, Func> selector); + public static Nullable Sum(this ParallelQuery source, Func> selector); + public static float Sum(this ParallelQuery source, Func selector); + public static ParallelQuery Take(this ParallelQuery source, int count); + public static ParallelQuery TakeWhile(this ParallelQuery source, Func predicate); + public static ParallelQuery TakeWhile(this ParallelQuery source, Func predicate); + public static OrderedParallelQuery ThenBy(this OrderedParallelQuery source, Func keySelector); + public static OrderedParallelQuery ThenBy(this OrderedParallelQuery source, Func keySelector, IComparer comparer); + public static OrderedParallelQuery ThenByDescending(this OrderedParallelQuery source, Func keySelector); + public static OrderedParallelQuery ThenByDescending(this OrderedParallelQuery source, Func keySelector, IComparer comparer); + public static TSource[] ToArray(this ParallelQuery source); + public static Dictionary ToDictionary(this ParallelQuery source, Func keySelector, Func elementSelector); + public static Dictionary ToDictionary(this ParallelQuery source, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static Dictionary ToDictionary(this ParallelQuery source, Func keySelector); + public static Dictionary ToDictionary(this ParallelQuery source, Func keySelector, IEqualityComparer comparer); + public static List ToList(this ParallelQuery source); + public static ILookup ToLookup(this ParallelQuery source, Func keySelector, Func elementSelector); + public static ILookup ToLookup(this ParallelQuery source, Func keySelector, Func elementSelector, IEqualityComparer comparer); + public static ILookup ToLookup(this ParallelQuery source, Func keySelector); + public static ILookup ToLookup(this ParallelQuery source, Func keySelector, IEqualityComparer comparer); + public static ParallelQuery Union(this ParallelQuery first, IEnumerable second); + public static ParallelQuery Union(this ParallelQuery first, IEnumerable second, IEqualityComparer comparer); + public static ParallelQuery Union(this ParallelQuery first, ParallelQuery second); + public static ParallelQuery Union(this ParallelQuery first, ParallelQuery second, IEqualityComparer comparer); + public static ParallelQuery Where(this ParallelQuery source, Func predicate); + public static ParallelQuery Where(this ParallelQuery source, Func predicate); + public static ParallelQuery WithCancellation(this ParallelQuery source, CancellationToken cancellationToken); + public static ParallelQuery WithDegreeOfParallelism(this ParallelQuery source, int degreeOfParallelism); + public static ParallelQuery WithExecutionMode(this ParallelQuery source, ParallelExecutionMode executionMode); + public static ParallelQuery WithMergeOptions(this ParallelQuery source, ParallelMergeOptions mergeOptions); + public static ParallelQuery Zip(this ParallelQuery first, IEnumerable second, Func resultSelector); + public static ParallelQuery Zip(this ParallelQuery first, ParallelQuery second, Func resultSelector); + } + public enum ParallelExecutionMode { + Default = 0, + ForceParallelism = 1, + } + public enum ParallelMergeOptions { + AutoBuffered = 2, + Default = 0, + FullyBuffered = 3, + NotBuffered = 1, + } + public class ParallelQuery : IEnumerable { + IEnumerator System.Collections.IEnumerable.GetEnumerator(); + } + public class ParallelQuery : ParallelQuery, IEnumerable, IEnumerable { + public virtual IEnumerator GetEnumerator(); + } + public static class Queryable { + public static TResult Aggregate(this IQueryable source, TAccumulate seed, Expression> func, Expression> selector); + public static TAccumulate Aggregate(this IQueryable source, TAccumulate seed, Expression> func); + public static TSource Aggregate(this IQueryable source, Expression> func); + public static bool All(this IQueryable source, Expression> predicate); + public static bool Any(this IQueryable source); + public static bool Any(this IQueryable source, Expression> predicate); + public static IQueryable AsQueryable(this IEnumerable source); + public static IQueryable AsQueryable(this IEnumerable source); + public static Decimal Average(this IQueryable source); + public static double Average(this IQueryable source); + public static double Average(this IQueryable source); + public static double Average(this IQueryable source); + public static Nullable Average(this IQueryable> source); + public static Nullable Average(this IQueryable> source); + public static Nullable Average(this IQueryable> source); + public static Nullable Average(this IQueryable> source); + public static Nullable Average(this IQueryable> source); + public static float Average(this IQueryable source); + public static Decimal Average(this IQueryable source, Expression> selector); + public static double Average(this IQueryable source, Expression> selector); + public static double Average(this IQueryable source, Expression> selector); + public static double Average(this IQueryable source, Expression> selector); + public static Nullable Average(this IQueryable source, Expression>> selector); + public static Nullable Average(this IQueryable source, Expression>> selector); + public static Nullable Average(this IQueryable source, Expression>> selector); + public static Nullable Average(this IQueryable source, Expression>> selector); + public static Nullable Average(this IQueryable source, Expression>> selector); + public static float Average(this IQueryable source, Expression> selector); + public static IQueryable Cast(this IQueryable source); + public static IQueryable Concat(this IQueryable source1, IEnumerable source2); + public static bool Contains(this IQueryable source, TSource item); + public static bool Contains(this IQueryable source, TSource item, IEqualityComparer comparer); + public static int Count(this IQueryable source); + public static int Count(this IQueryable source, Expression> predicate); + public static IQueryable DefaultIfEmpty(this IQueryable source); + public static IQueryable DefaultIfEmpty(this IQueryable source, TSource defaultValue); + public static IQueryable Distinct(this IQueryable source); + public static IQueryable Distinct(this IQueryable source, IEqualityComparer comparer); + public static TSource ElementAt(this IQueryable source, int index); + public static TSource ElementAtOrDefault(this IQueryable source, int index); + public static IQueryable Except(this IQueryable source1, IEnumerable source2); + public static IQueryable Except(this IQueryable source1, IEnumerable source2, IEqualityComparer comparer); + public static TSource First(this IQueryable source); + public static TSource First(this IQueryable source, Expression> predicate); + public static TSource FirstOrDefault(this IQueryable source); + public static TSource FirstOrDefault(this IQueryable source, Expression> predicate); + public static IQueryable GroupBy(this IQueryable source, Expression> keySelector, Expression> elementSelector, Expression, TResult>> resultSelector); + public static IQueryable GroupBy(this IQueryable source, Expression> keySelector, Expression> elementSelector, Expression, TResult>> resultSelector, IEqualityComparer comparer); + public static IQueryable> GroupBy(this IQueryable source, Expression> keySelector, Expression> elementSelector); + public static IQueryable> GroupBy(this IQueryable source, Expression> keySelector, Expression> elementSelector, IEqualityComparer comparer); + public static IQueryable GroupBy(this IQueryable source, Expression> keySelector, Expression, TResult>> resultSelector); + public static IQueryable GroupBy(this IQueryable source, Expression> keySelector, Expression, TResult>> resultSelector, IEqualityComparer comparer); + public static IQueryable> GroupBy(this IQueryable source, Expression> keySelector); + public static IQueryable> GroupBy(this IQueryable source, Expression> keySelector, IEqualityComparer comparer); + public static IQueryable GroupJoin(this IQueryable outer, IEnumerable inner, Expression> outerKeySelector, Expression> innerKeySelector, Expression, TResult>> resultSelector); + public static IQueryable GroupJoin(this IQueryable outer, IEnumerable inner, Expression> outerKeySelector, Expression> innerKeySelector, Expression, TResult>> resultSelector, IEqualityComparer comparer); + public static IQueryable Intersect(this IQueryable source1, IEnumerable source2); + public static IQueryable Intersect(this IQueryable source1, IEnumerable source2, IEqualityComparer comparer); + public static IQueryable Join(this IQueryable outer, IEnumerable inner, Expression> outerKeySelector, Expression> innerKeySelector, Expression> resultSelector); + public static IQueryable Join(this IQueryable outer, IEnumerable inner, Expression> outerKeySelector, Expression> innerKeySelector, Expression> resultSelector, IEqualityComparer comparer); + public static TSource Last(this IQueryable source); + public static TSource Last(this IQueryable source, Expression> predicate); + public static TSource LastOrDefault(this IQueryable source); + public static TSource LastOrDefault(this IQueryable source, Expression> predicate); + public static long LongCount(this IQueryable source); + public static long LongCount(this IQueryable source, Expression> predicate); + public static TResult Max(this IQueryable source, Expression> selector); + public static TSource Max(this IQueryable source); + public static TResult Min(this IQueryable source, Expression> selector); + public static TSource Min(this IQueryable source); + public static IQueryable OfType(this IQueryable source); + public static IOrderedQueryable OrderBy(this IQueryable source, Expression> keySelector); + public static IOrderedQueryable OrderBy(this IQueryable source, Expression> keySelector, IComparer comparer); + public static IOrderedQueryable OrderByDescending(this IQueryable source, Expression> keySelector); + public static IOrderedQueryable OrderByDescending(this IQueryable source, Expression> keySelector, IComparer comparer); + public static IQueryable Reverse(this IQueryable source); + public static IQueryable Select(this IQueryable source, Expression> selector); + public static IQueryable Select(this IQueryable source, Expression> selector); + public static IQueryable SelectMany(this IQueryable source, Expression>> collectionSelector, Expression> resultSelector); + public static IQueryable SelectMany(this IQueryable source, Expression>> collectionSelector, Expression> resultSelector); + public static IQueryable SelectMany(this IQueryable source, Expression>> selector); + public static IQueryable SelectMany(this IQueryable source, Expression>> selector); + public static bool SequenceEqual(this IQueryable source1, IEnumerable source2); + public static bool SequenceEqual(this IQueryable source1, IEnumerable source2, IEqualityComparer comparer); + public static TSource Single(this IQueryable source); + public static TSource Single(this IQueryable source, Expression> predicate); + public static TSource SingleOrDefault(this IQueryable source); + public static TSource SingleOrDefault(this IQueryable source, Expression> predicate); + public static IQueryable Skip(this IQueryable source, int count); + public static IQueryable SkipWhile(this IQueryable source, Expression> predicate); + public static IQueryable SkipWhile(this IQueryable source, Expression> predicate); + public static Decimal Sum(this IQueryable source); + public static double Sum(this IQueryable source); + public static int Sum(this IQueryable source); + public static long Sum(this IQueryable source); + public static Nullable Sum(this IQueryable> source); + public static Nullable Sum(this IQueryable> source); + public static Nullable Sum(this IQueryable> source); + public static Nullable Sum(this IQueryable> source); + public static Nullable Sum(this IQueryable> source); + public static float Sum(this IQueryable source); + public static Decimal Sum(this IQueryable source, Expression> selector); + public static double Sum(this IQueryable source, Expression> selector); + public static int Sum(this IQueryable source, Expression> selector); + public static long Sum(this IQueryable source, Expression> selector); + public static Nullable Sum(this IQueryable source, Expression>> selector); + public static Nullable Sum(this IQueryable source, Expression>> selector); + public static Nullable Sum(this IQueryable source, Expression>> selector); + public static Nullable Sum(this IQueryable source, Expression>> selector); + public static Nullable Sum(this IQueryable source, Expression>> selector); + public static float Sum(this IQueryable source, Expression> selector); + public static IQueryable Take(this IQueryable source, int count); + public static IQueryable TakeWhile(this IQueryable source, Expression> predicate); + public static IQueryable TakeWhile(this IQueryable source, Expression> predicate); + public static IOrderedQueryable ThenBy(this IOrderedQueryable source, Expression> keySelector); + public static IOrderedQueryable ThenBy(this IOrderedQueryable source, Expression> keySelector, IComparer comparer); + public static IOrderedQueryable ThenByDescending(this IOrderedQueryable source, Expression> keySelector); + public static IOrderedQueryable ThenByDescending(this IOrderedQueryable source, Expression> keySelector, IComparer comparer); + public static IQueryable Union(this IQueryable source1, IEnumerable source2); + public static IQueryable Union(this IQueryable source1, IEnumerable source2, IEqualityComparer comparer); + public static IQueryable Where(this IQueryable source, Expression> predicate); + public static IQueryable Where(this IQueryable source, Expression> predicate); + public static IQueryable Zip(this IQueryable source1, IEnumerable source2, Expression> resultSelector); + } +} ```