MoreEnumerablePartitionT, TResult(IEnumerableT, FuncT, Boolean, FuncIEnumerableT, IEnumerableT, TResult) Method
Partitions or splits a sequence in two using a predicate and then
projects a result from the two.
Namespace: MoreLinqAssembly: MoreLinq (in MoreLinq.dll) Version: 3.4.0+b99a6a8cc504caf2d48372fe54a2f8116c59cd0c
public static TResult Partition<T, TResult>(
this IEnumerable<T> source,
Func<T, bool> predicate,
Func<IEnumerable<T>, IEnumerable<T>, TResult> resultSelector
)
<ExtensionAttribute>
Public Shared Function Partition(Of T, TResult) (
source As IEnumerable(Of T),
predicate As Func(Of T, Boolean),
resultSelector As Func(Of IEnumerable(Of T), IEnumerable(Of T), TResult)
) As TResult
public:
[ExtensionAttribute]
generic<typename T, typename TResult>
static TResult Partition(
IEnumerable<T>^ source,
Func<T, bool>^ predicate,
Func<IEnumerable<T>^, IEnumerable<T>^, TResult>^ resultSelector
)
[<ExtensionAttribute>]
static member Partition :
source : IEnumerable<'T> *
predicate : Func<'T, bool> *
resultSelector : Func<IEnumerable<'T>, IEnumerable<'T>, 'TResult> -> 'TResult
- source IEnumerableT
- The source sequence.
- predicate FuncT, Boolean
- The predicate function.
- resultSelector FuncIEnumerableT, IEnumerableT, TResult
-
Function that projects the result from sequences of elements that
satisfy the predicate and those that do not, respectively, passed as
arguments.
- T
- Type of source elements.
- TResult
- Type of the result.
TResult
The return value from
resultSelector.
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).
var (evens, odds) =
Enumerable.Range(0, 10)
.Partition(x => x % 2 == 0, ValueTuple.Create);
The
evens variable, when iterated over, will yield 0, 2, 4, 6
and then 8. The
odds variable, when iterated over, will yield
1, 3, 5, 7 and then 9.