Pick
Applies the given chooser
function to successive elements, returning the first result where function returns an option value that IsSome
.
It works similar to Choose
function, but in this case only the first value is returned.
Parameters | Returns |
---|---|
Func<T, Option<T2>> chooser IEnumerable<T> source |
T2 |
Exceptions
Type | When |
---|---|
InvalidOperationException | The chooser function returns options with IsNone for all elements. |
Usage
Getting the double of first odd number in a collection
//IEnumerable<int> source = { 2, 2, 4, 4, 6, 6, 7, 8, 9 }
int result = source.Pick(value =>
{
if(value % 2 == 1)
return value * 2;
else
return Option<int>.None();
});
//result = 14