Retorna o valor opcional com o estado IsSome quando o valor encapsulado está no estado IsSome e se a função predicate retornar true ao ser aplicada ao valor, caso contrário retorna valor opcional com o estado IsNone.
Parâmetros
Retorno
Func<T, bool> predicate
Option<T> option
Option<T>
Como usar
Caso o valor opcional esteja no estado IsNone ele simplesmente será retornado novamente.
Caso o valor opcional esteja no estado IsSome a função predicate é aplicada sobre o valor encapsulado e caso a predicate retornar true o valor opcional é retornado novamente, caso contrário é retornado um valor opcional no estado IsNone.
Quando o valor opcional está no estado IsSome e a função retorna true
Option<int> optionValue =4;Option<int> result =optionValue.Filter(value => value %2==0);//result.IsSome = true//result.Some = 4
Quando o valor opcional está no estado IsSome e a função retorna false
Option<int> optionValue =3;Option<int> result =optionValue.Filter(value => value %2==0);//result.IsSome = false//result.IsNone = true