IndexByExtensionIndexByTSource, TKey(IEnumerableTSource, FuncTSource, TKey, IEqualityComparerTKey) Method
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.ExtensionsAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
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>>
- source IEnumerableTSource
- Source sequence.
- keySelector FuncTSource, TKey
-
Function that projects the key given an element in the source sequence.
- comparer IEqualityComparerTKey
-
The equality comparer to use to determine whether or not keys are
equal. If null, the default equality comparer for
TSource is used.
- TSource
- Type of the source sequence elements.
- TKey
- Type of the projected key.
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.
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).