MoreEnumerableSegmentT(IEnumerableT, FuncT, T, Int32, Boolean) Method

Divides a sequence into multiple sequences by using a segment detector based on the original sequence

Definition

Namespace: MoreLinq
Assembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
C#
public static IEnumerable<IEnumerable<T>> Segment<T>(
	this IEnumerable<T> source,
	Func<T, T, int, bool> newSegmentPredicate
)

Parameters

source  IEnumerableT
The sequence to segment
newSegmentPredicate  FuncT, T, Int32, Boolean
A function, which returns true if the given current element, previous element or index indicate a new segment, and false otherwise

Type Parameters

T
The type of the elements in the sequence

Return Value

IEnumerableIEnumerableT
A sequence of segment, each of which is a portion of the original sequence

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerableT. 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).

Exceptions

ArgumentNullException Thrown if either source or newSegmentPredicate are .

See Also