Choose
Applies the given chooser
function to each element of the collection. Returns the collection comprised of the TResult
results for each element where the function returns an Option<T>.Some
.
This function works like a combination of Map
and Filter
.
Parameters
Returns
Func<T, Option<TResult>> chooser
IEnumerable<T> source
IEnumerable<TResult>
Usage
Choosing even numbers in a collection by using a named function
//IEnumerable<int> source = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
Option<string> NumberToStringWhenEven(int value)
{
if(value % 2 == 0)
return value.ToString();
else
return Option<string>.None();
}
IEnumerable<int> result = source.Choose(NumberToStringWhenEven);
//result = { "2", "4", "6", "8", "10" }
Choosing the square of odd numbers by using an anonymous function
//IEnumerable<int> source = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
IEnumerable<int> result =
source.Choose(value =>
{
if(value % 2 == 1)
return value * value;
else
return Option<int>.None();
});
//result = { 1, 9, 25, 49, 81 }
Last updated
Was this helpful?