MoreEnumerable.CountBy<TSource, TKey> Method (IEnumerable<TSource>, Func<TSource, TKey>) |
Applies a key-generating function to each element of a sequence and returns a sequence of
unique keys and their number of occurrences in the original sequence.
Namespace:
MoreLinq
Assembly:
MoreLinq (in MoreLinq.dll) Version: 2.7.0
Syntaxpublic static IEnumerable<KeyValuePair<TKey, int>> CountBy<TSource, TKey>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector
)
<ExtensionAttribute>
Public Shared Function CountBy(Of TSource, TKey) (
source As IEnumerable(Of TSource),
keySelector As Func(Of TSource, TKey)
) As IEnumerable(Of KeyValuePair(Of TKey, Integer))
public:
[ExtensionAttribute]
generic<typename TSource, typename TKey>
static IEnumerable<KeyValuePair<TKey, int>>^ CountBy(
IEnumerable<TSource>^ source,
Func<TSource, TKey>^ keySelector
)
[<ExtensionAttribute>]
static member CountBy :
source : IEnumerable<'TSource> *
keySelector : Func<'TSource, 'TKey> -> IEnumerable<KeyValuePair<'TKey, int>>
Parameters
- source
- Type: System.Collections.Generic.IEnumerable<TSource>
Source sequence. - keySelector
- Type: System.Func<TSource, TKey>
Function that transforms each item of source sequence into a key to be compared against the others.
Type Parameters
- TSource
- Type of the elements of the source sequence.
- TKey
- Type of the projected element.
Return Value
Type:
IEnumerable<KeyValuePair<TKey,
Int32>>A sequence of unique keys and their number of occurrences in the original sequence.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
IEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see
Extension Methods (Visual Basic) or
Extension Methods (C# Programming Guide).
See Also