TryPick

Applies the given chooser function to successive elements, returning the first result of an option value that IsSome.

Returns an Option<T>arrow-up-right that IsNone if no such element exists.

Similar to Pickarrow-up-right, but in this case the value still in an option context and this function doesn't raises any exception.

Parameters

Returns

Func<T, Option<T2>> chooser

IEnumerable<T> source

T2

Usage

Getting the double of first odd number in a collection

//IEnumerable<int> source = { 2, 2, 4, 4, 6, 6, 7, 8, 9 }

Option<int> result = source.TryPick(value => 
            {
                if(value % 2 == 1)
                    return value * 2;
                else
                    return Option<int>.None();
            });

//result.IsSome = true
//result.Some = 14

When there is no element that satisfies the condition

Last updated