diff options
author | Jb Evain <jbevain@gmail.com> | 2008-06-24 23:54:23 +0400 |
---|---|---|
committer | Jb Evain <jbevain@gmail.com> | 2008-06-24 23:54:23 +0400 |
commit | 156d2d3bcdd95379b402f850fb21fa914e7452e7 (patch) | |
tree | 1b11417bd85816b85191ecd457f692b46412086d /mcs/class/System.Core/System.Linq/Enumerable.cs | |
parent | 6236ef32cadda251dd608472bf9dcd74f24f754d (diff) |
property create the GroupBy iterator
svn path=/trunk/mcs/; revision=106533
Diffstat (limited to 'mcs/class/System.Core/System.Linq/Enumerable.cs')
-rw-r--r-- | mcs/class/System.Core/System.Linq/Enumerable.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mcs/class/System.Core/System.Linq/Enumerable.cs b/mcs/class/System.Core/System.Linq/Enumerable.cs index d8ada72df5c..3ac3fc5a4a2 100644 --- a/mcs/class/System.Core/System.Linq/Enumerable.cs +++ b/mcs/class/System.Core/System.Linq/Enumerable.cs @@ -633,6 +633,12 @@ namespace System.Linq { Check.SourceAndKeySelector (source, keySelector); + return CreateGroupByIterator (source, keySelector, comparer); + } + + static IEnumerable<IGrouping<TKey, TSource>> CreateGroupByIterator<TSource, TKey> (this IEnumerable<TSource> source, + Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) + { Dictionary<TKey, List<TSource>> groups = new Dictionary<TKey, List<TSource>> (); List<TSource> nullList = new List<TSource> (); int counter = 0; @@ -670,7 +676,6 @@ namespace System.Linq } } - public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement> (this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector) { |