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