MoreEnumerableIndexByTSource, TKey Method (IEnumerableTSource, FuncTSource, TKey, IEqualityComparerTKey) |
Applies a key-generating function to each element of a sequence and
returns a sequence that contains the elements of the original
sequence as well its key and index inside the group of its key.
An additional parameter specifies a comparer to use for testing the
equivalence of keys.
Namespace:
MoreLinq
Assembly:
MoreLinq (in MoreLinq.dll) Version: 3.3.1+b77df70598ab84c28cd43dcf74594024b6d575e1
Syntax public static IEnumerable<KeyValuePair<int, TSource>> IndexBy<TSource, TKey>(
this IEnumerable<TSource> source,
Func<TSource, TKey> keySelector,
IEqualityComparer<TKey> comparer
)
<ExtensionAttribute>
Public Shared Function IndexBy(Of TSource, TKey) (
source As IEnumerable(Of TSource),
keySelector As Func(Of TSource, TKey),
comparer As IEqualityComparer(Of TKey)
) As IEnumerable(Of KeyValuePair(Of Integer, TSource))
public:
[ExtensionAttribute]
generic<typename TSource, typename TKey>
static IEnumerable<KeyValuePair<int, TSource>>^ IndexBy(
IEnumerable<TSource>^ source,
Func<TSource, TKey>^ keySelector,
IEqualityComparer<TKey>^ comparer
)
[<ExtensionAttribute>]
static member IndexBy :
source : IEnumerable<'TSource> *
keySelector : Func<'TSource, 'TKey> *
comparer : IEqualityComparer<'TKey> -> IEnumerable<KeyValuePair<int, 'TSource>>
Parameters
- source
- Type: System.Collections.GenericIEnumerableTSource
Source sequence. - keySelector
- Type: SystemFuncTSource, TKey
Function that projects the key given an element in the source sequence. - comparer
- Type: System.Collections.GenericIEqualityComparerTKey
The equality comparer to use to determine whether or not keys are
equal. If null, the default equality comparer for
TSource is used.
Type Parameters
- TSource
- Type of the source sequence elements.
- TKey
- Type of the projected key.
Return Value
Type:
IEnumerableKeyValuePairInt32,
TSource
A sequence of elements paired with their index within the key-group.
The index is the key and the element is the value of the pair.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
IEnumerableTSource. 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