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

Last updated

Was this helpful?