MoreEnumerable.Pairwise<TSource, TResult> Method |
Returns a sequence resulting from applying a function to each
element in the source sequence and its
predecessor, with the exception of the first element which is
only returned as the predecessor of the second element.
Namespace:
MoreLinq
Assembly:
MoreLinq (in MoreLinq.dll) Version: 2.6.0
Syntaxpublic static IEnumerable<TResult> Pairwise<TSource, TResult>(
this IEnumerable<TSource> source,
Func<TSource, TSource, TResult> resultSelector
)
<ExtensionAttribute>
Public Shared Function Pairwise(Of TSource, TResult) (
source As IEnumerable(Of TSource),
resultSelector As Func(Of TSource, TSource, TResult)
) As IEnumerable(Of TResult)
public:
[ExtensionAttribute]
generic<typename TSource, typename TResult>
static IEnumerable<TResult>^ Pairwise(
IEnumerable<TSource>^ source,
Func<TSource, TSource, TResult>^ resultSelector
)
[<ExtensionAttribute>]
static member Pairwise :
source : IEnumerable<'TSource> *
resultSelector : Func<'TSource, 'TSource, 'TResult> -> IEnumerable<'TResult>
Parameters
- source
- Type: System.Collections.Generic.IEnumerable<TSource>
The source sequence. - resultSelector
- Type: System.Func<TSource, TSource, TResult>
A transform function to apply to
each pair of sequence.
Type Parameters
- TSource
- The type of the elements of source.
- TResult
- The type of the element of the returned sequence.
Return Value
Type:
IEnumerable<TResult>
Returns the resulting 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).
Remarks
This operator uses deferred execution and streams its results.
Examplesint[] numbers = { 123, 456, 789 };
IEnumerable<int> result = numbers.Pairwise((a, b) => a + b);
The
result variable, when iterated over, will yield
579 and 1245, in turn.
See Also