5 implementations of IGrouping
System.Core (3)
System\Linq\Enumerable.cs (1)
2298internal class Grouping : IGrouping<TKey, TElement>, IList<TElement>
System\Linq\Parallel\QueryOperators\Unary\GroupByQueryOperator.cs (2)
692internal class GroupByGrouping<TGroupKey, TElement> : IGrouping<TGroupKey, TElement> 740internal class OrderedGroupByGrouping<TGroupKey, TOrderKey, TElement> : IGrouping<TGroupKey, TElement>
System.Data.Entity (1)
System\Data\Objects\ELinq\InitializerFacet.cs (1)
163private class Grouping<K, T> : IGrouping<K, T>
System.Data.Linq (1)
SqlClient\Reader\ObjectReaderCompiler.cs (1)
2964internal class Group<K, T> : IGrouping<K, T>, IEnumerable<T>, IEnumerable {
77 references to IGrouping
System.Core (67)
System\Linq\Enumerable.cs (9)
768public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector) { 772public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) { 776public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector) { 780public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector, IEqualityComparer<TKey> comparer) { 2173public interface ILookup<TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>>{ 2179public class Lookup<TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>>, ILookup<TKey, TElement>{ 2227public IEnumerator<IGrouping<TKey, TElement>> GetEnumerator() { 2513internal class GroupedEnumerable<TSource, TKey, TElement> : IEnumerable<IGrouping<TKey, TElement>> 2530public IEnumerator<IGrouping<TKey, TElement>> GetEnumerator() {
System\Linq\IQueryable.cs (8)
505public static IQueryable<IGrouping<TKey,TSource>> GroupBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector) { 510return source.Provider.CreateQuery<IGrouping<TKey,TSource>>( 518public static IQueryable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource, TElement>> elementSelector) { 525return source.Provider.CreateQuery<IGrouping<TKey,TElement>>( 533public static IQueryable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, IEqualityComparer<TKey> comparer) { 538return source.Provider.CreateQuery<IGrouping<TKey,TSource>>( 546public static IQueryable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IQueryable<TSource> source, Expression<Func<TSource, TKey>> keySelector, Expression<Func<TSource,TElement>> elementSelector, IEqualityComparer<TKey> comparer) { 553return source.Provider.CreateQuery<IGrouping<TKey,TElement>>(
System\Linq\Parallel\QueryOperators\Unary\GroupByQueryOperator.cs (19)
33UnaryQueryOperator<TSource, IGrouping<TGroupKey, TElement>> 73PartitionedStream<TSource, TKey> inputStream, IPartitionedStreamRecipient<IGrouping<TGroupKey, TElement>> recipient, 104IPartitionedStreamRecipient<IGrouping<TGroupKey, TElement>> recipient, 108PartitionedStream<IGrouping<TGroupKey, TElement>, TKey> outputStream = 109new PartitionedStream<IGrouping<TGroupKey, TElement>, TKey>(partitionCount, hashStream.KeyComparer, OrdinalIndexState.Shuffled); 123outputStream[i] = (QueryOperatorEnumerator<IGrouping<TGroupKey, TElement>, TKey>)(object)enumerator; 143IPartitionedStreamRecipient<IGrouping<TGroupKey, TElement>> recipient, 147PartitionedStream<IGrouping<TGroupKey, TElement>, TKey> outputStream = 148new PartitionedStream<IGrouping<TGroupKey, TElement>, TKey>(partitionCount, hashStream.KeyComparer, OrdinalIndexState.Shuffled); 163outputStream[i] = (QueryOperatorEnumerator<IGrouping<TGroupKey, TElement>, TKey>)(object)enumerator; 180internal override QueryResults<IGrouping<TGroupKey, TElement>> Open(QuerySettings settings, bool preferStriping) 193internal override IEnumerable<IGrouping<TGroupKey, TElement>> AsSequentialQuery(CancellationToken token) 199return (IEnumerable<IGrouping<TGroupKey, TElement>>)(object)(wrappedChild.GroupBy(m_keySelector, m_keyComparer)); 228QueryOperatorEnumerator<IGrouping<TGroupKey, TElement>, TOrderKey> 263internal override bool MoveNext(ref IGrouping<TGroupKey, TElement> currentElement, ref TOrderKey currentKey) 433QueryOperatorEnumerator<IGrouping<TGroupKey, TElement>, TOrderKey> 473internal override bool MoveNext(ref IGrouping<TGroupKey, TElement> currentElement, ref TOrderKey currentKey) 711TGroupKey IGrouping<TGroupKey, TElement>.Key 764TGroupKey IGrouping<TGroupKey, TElement>.Key
System\Linq\Parallel\Utils\Lookup.cs (8)
43private IDictionary<TKey, IGrouping<TKey, TElement>> m_dict; 45private IGrouping<TKey, TElement> m_defaultKeyGrouping = null; 50m_dict = new Dictionary<TKey, IGrouping<TKey, TElement>>(m_comparer); 83IGrouping<TKey, TElement> grouping; 115internal void Add(IGrouping<TKey, TElement> grouping) 131public IEnumerator<IGrouping<TKey, TElement>> GetEnumerator() 136foreach (IGrouping<TKey, TElement> grouping in m_dict.Values) 149return ((IEnumerable<IGrouping<TKey, TElement>>)this).GetEnumerator();
System\Linq\ParallelEnumerable.cs (22)
1346public static ParallelQuery<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>( 1366public static ParallelQuery<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>( 1393public static ParallelQuery<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>( 1420public static ParallelQuery<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>( 1466.Select<IGrouping<TKey, TSource>, TResult>(delegate(IGrouping<TKey, TSource> grouping) { return resultSelector(grouping.Key, grouping); }); 1496return source.GroupBy<TSource, TKey>(keySelector, comparer).Select<IGrouping<TKey, TSource>, TResult>( 1497delegate(IGrouping<TKey, TSource> grouping) { return resultSelector(grouping.Key, grouping); }); 1527.Select<IGrouping<TKey, TElement>, TResult>(delegate(IGrouping<TKey, TElement> grouping) { return resultSelector(grouping.Key, grouping); }); 1558.Select<IGrouping<TKey, TElement>, TResult>(delegate(IGrouping<TKey, TElement> grouping) { return resultSelector(grouping.Key, grouping); }); 5195ParallelQuery<IGrouping<TKey, TSource>> groupings = source.GroupBy(keySelector, comparer); 5199Contract.Assert(groupings is QueryOperator<IGrouping<TKey, TSource>>); 5200QueryOperator<IGrouping<TKey, TSource>> op = groupings as QueryOperator<IGrouping<TKey, TSource>>; 5202IEnumerator<IGrouping<TKey, TSource>> input = (op == null) ? groupings.GetEnumerator() : op.GetEnumerator(ParallelMergeOptions.FullyBuffered); 5282ParallelQuery<IGrouping<TKey, TElement>> groupings = source.GroupBy(keySelector, elementSelector, comparer); 5286Contract.Assert(groupings is QueryOperator<IGrouping<TKey, TElement>>); 5287QueryOperator<IGrouping<TKey, TElement>> op = groupings as QueryOperator<IGrouping<TKey, TElement>>; 5289IEnumerator<IGrouping<TKey, TElement>> input = (op == null) ? groupings.GetEnumerator() : op.GetEnumerator(ParallelMergeOptions.FullyBuffered);
System\Linq\SequenceQuery.cs (1)
282return typeof(IGrouping<,>).MakeGenericType(t.GetGenericArguments());
System.Data.Entity (3)
System\Data\Objects\ELinq\InitializerFacet.cs (2)
221typeof(IGrouping<,>).Equals(ClrType.GetGenericTypeDefinition())); 238typeof(IGrouping<,>).Equals(ClrType.GetGenericTypeDefinition()));
System\Data\Query\InternalTrees\ColumnMapFactory.cs (1)
170foreach (var memberGroup in memberInfo.GroupBy(tuple => tuple.Item2).OrderBy(tuple => tuple.Key))
System.Data.Linq (5)
SqlClient\Query\QueryConverter.cs (3)
1479t.GetGenericTypeDefinition() == typeof(IGrouping<,>)) 1591Type elementType = typeof(IGrouping<,>).MakeGenericType(keyExpr.ClrType, elemExpr.ClrType); 1613Type elementType = typeof(IGrouping<,>).MakeGenericType(keyExpr.ClrType, elemExpr.ClrType);
SqlClient\Reader\ObjectReaderCompiler.cs (2)
77public static IGrouping<TKey, TElement> CreateGroup<TKey, TElement>(TKey key, IEnumerable<TElement> items) { 2973K IGrouping<K, T>.Key {
System.Web.Entity (1)
System\Data\WebControls\EntityDataSourceWrapper.cs (1)
184foreach (var group in groups)
System.Web.Extensions (1)
UI\WebResourceUtil.cs (1)
127foreach (var g in groups) {