Esempio n. 1
0
 /// <summary>
 /// A parallel query that groups the elements of a sequence according to a specified key selector function.
 /// </summary>
 /// <typeparam name="TSource">The type of the elements of source.</typeparam>
 /// <typeparam name="TKey">The type of the key returned by keySelector.</typeparam>
 /// <param name="query">A query whose elements to group.</param>
 /// <param name="keySelector">A function to extract the key for each element.</param>
 /// <returns>A parallel query where each IGrouping element contains a sequence of objects and a key.</returns>
 public static IParallelQueryExpr <IEnumerable <IGrouping <TKey, TSource> > > GroupBy <TSource, TKey>(this IParallelQueryExpr <IEnumerable <TSource> > query, Expression <Func <TSource, TKey> > keySelector)
 {
     return(new ParallelQueryExpr <IEnumerable <IGrouping <TKey, TSource> > >(QExpr.NewGroupBy(keySelector, query.Expr, typeof(IGrouping <TKey, TSource>))));
 }