Pick

Aplica a função chooser em cada um dos elementos, a função interrompe assim que um resultado for um opcional no estado IsSome. Depois disso, este valor é retirado do contexto opcional e retornado como resultado final da operação.

Semelhante ao Choose, mas retornando apenas o primeiro elemento.

Parâmetros

Retorno

Func<T, Option<T2>> chooser

IEnumerable<T> source

T2

Exceções

Tipo

Situação

InvalidOperationException

Quando a função Chooser não retornar nenhum elemento no estado IsSome.

Como usar

Obtendo o dobro do primeiro valor ímpar em uma coleção através de uma função anônima

//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

Last updated