MoreEnumerable.Segment<T>(IEnumerable<T>, Func<T, T, Int32, Boolean>) Method
Divides a sequence into multiple sequences by using a segment detector based on the original sequence
Namespace: MoreLinqAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
public static IEnumerable<IEnumerable<T>> Segment<T>(
this IEnumerable<T> source,
Func<T, T, int, bool> newSegmentPredicate
)
<ExtensionAttribute>
Public Shared Function Segment(Of T) (
source As IEnumerable(Of T),
newSegmentPredicate As Func(Of T, T, Integer, Boolean)
) As IEnumerable(Of IEnumerable(Of T))
public:
[ExtensionAttribute]
generic<typename T>
static IEnumerable<IEnumerable<T>^>^ Segment(
IEnumerable<T>^ source,
Func<T, T, int, bool>^ newSegmentPredicate
)
[<ExtensionAttribute>]
static member Segment :
source : IEnumerable<'T> *
newSegmentPredicate : Func<'T, 'T, int, bool> -> IEnumerable<IEnumerable<'T>>
- source IEnumerable<T>
- The sequence to segment
- newSegmentPredicate Func<T, T, Int32, Boolean>
- A function, which returns true if the given current element, previous element or index indicate a new segment, and false otherwise
- T
- The type of the elements in the sequence
IEnumerable<IEnumerable<T>>A sequence of segment, each of which is a portion of the original sequenceIn Visual Basic and C#, you can call this method as an instance method on any object of type
IEnumerable<T>. 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).